|
![]() |
|
![]() tarafýndan Frédéric Raynal <pappy(at)users.sourceforge.net> Yazar hakkýnda: Frédéric RaynalINRIA 'da bilgisayar bilimlerinde final tezini hazýrlýyor. Sýk sýk "16 Horse Power" 'ýn son albümünü (çok iyi ve güçlü) ve "The for carnation" dinliyor, biraz aðýr ama oldukça iyi. Türkçe'ye çeviri: Ceyhun Elmas <ceyhun.elmas(at)linuxfocus.org> Ýçerik: |
Özet:
Bu yazýda adým adým NIS sunucusunun nasýl kurulduðunu göreceðiz. Gerekli yazýlýmlara , yapýlandýrma dosyalarýna ve veri tabanýnýn nasýl oluþturulduðuna bakacaðýz.
Bu yazýda sunucu tarafýnýn nasýl yapýlandýrýldýðýný göreceðiz ve NIS'in kullanýmýyla ilgili bazý ipuçlarý vereceðiz.
Bu yazýda ypserv'in yeni sürümünden bahsedeceðiz. Önerdiðimiz sürüm gölge þifreleri desteklediðinden beri 1.3.2'den sonrasý. Diðer bir deyiþle, biz gerçekten NYS'den bahsedeceðiz, "geleneksel NIS" deðil, hernekadar tüm yazýda NIS sözcüðü kullansak da...
Ýlk olarak yükleme için gerekli adýmlarý açýklayacaðýz. Bu yazýda "charly" olarak adlandýrýlan konak üzerinde çalýþacaðýz. NIS alan adý "bosley" ve köle sunucular "iron1", "iron2" ve "iron3".
Sonra, NIS alan adýna karar vermelisiniz. Bu DNS'den bir alan deðil ama Sari Sayfalar bölgesi için bir isim olmalý. Güvenlik nedenleriyle bu isim NIS sunucusunun isminden farklý olmalý.
Alan domainname komutu ile isimlendirilir. :-) Bizim örnerimizde :
root@charly >> /bin/domainname bosleyBu komut NIS alan adýný yalnýzca RAM'de tutar.Kalýcý yapmak için aþaðýdaki satýrý /etc/sysconfig/network dosyasýna eklemelisiniz:
NISDOMAIN=bosleyBu birsonraki açýlýþta NIS alan adýný otomatik olarak verecektir.
Önce ypserv daemon'u baþlatabiliriz, bunu /etc/ypserv.conf dosyasýný deðiþtirerek yapýlandýrmalýyýz. Bu aþaðýdaki dizgide bir ASCII dosyasýdýr:
option: [yes|no]Olasý seçenekler dns, sunucu FONT face= "Courier New, Courier, monospace">hosts-maps dosyasýnda olmayan istemciyi bulmak için DNS'e soracaktýr. sunos_kludge, eski ve xfr_check_port sunucu için aþaðýdaki 1024 portu kullanmaya (benimsenmiþ deðer evet).
host:map:security:mangle[:field]Bu kurallar hangi bilginin görülebileceðine karar verir.
þimdi sunucuyu ba?latabiliriz:
root@charly >> /etc/rc.d/init.d/ypserv startAçýlýþta sunucunun otomatik olarak koþmasý için rc.d dosyasýný düzenlemelisiniz ya da Redaht altýnda bu komutu çalýþtýrmalýsýnýz:
root@charly >> /sbin/chkconfig --level 345 ypserv onHerþeyin çalýþtýðýný denetlemek için:
root@charly >> /usr/sbin/rpcinfo -u localhost ypservAyrýntýlara girmeden önce ilk yazýda öðrendiklerimizi hatýrlamalýyýz. Ýki çeþit sunucu var : efendi(master) ve köle(slave). Köle sunucular yalnýzca efendi sunucunun veritbanýnýn bir kopyasýna sahiptir. Bu sunucular istemci taleplerinin karþýlanmasý uzun zaman aldýðýnda ya da efendi sunucu göçtüðünde devreye girerler.Veritabaný yalnýzca efendi tarafýndan yönetilmelidir. Bu istemciler üzerine kopyalanýr.
program 100004 version 1 ready and waiting
program 100004 version 2 ready and waiting
þimdi herþey hazýr ... veritabaný dýþýnda. Ýlk olarak bunu oluþturmalýyýz. Oluþturmaktan kasýt,Makefile kullanmaktýr ;-] Makefile bir önhazýrlýktýr ve bundan sonra yalnýzca bir kaç satýrý deðiþtirmemiz gerekiyor.Makefile /var/yp dizini altýndadýr ve açýk bir komuttur. En önemli satýr map'lerin tanýmlandýðý yerdir :
all: passwd group hosts rpc services netid protocols mail shadowBenimsenmiþ deðere gölge þifreyi elle eklemelisiniz. Bunu yapmak için "passwd" ve "shadow" dosyalarýn listesine eklemelisiniz ve deðiþkenin deðerini vermelisiniz MERGE_PASSWD doðru. MERGE_PASSWD karar verir eðer /etc/passwd ve /etc/shadow dosyalarý birleþmiþse.# netgrp publickey
# networks ethers bootparams printcap \
# amd.home auto.master auto.home passwd.adjunct
Sunucuyu baþlatmadan önce son ayrýntý: Yazma haklarý. Haklarý denetlemk için iki yol vardýr. Bunlardan biri ypserv'in kendi yolu diðeri de tcp_wrapper. Biz ypserv'in kendi güvenlik yöntemlerinden bahsedeceðiz.
Eðer ypserv'in yalnýzca ikili kod dosyasýna sahipseniz -v seçeneði ypserv 'in derlendiði yapýlandýrma seçeneklerini gösterecektir. ypserv'in kendi hak denetimi kullanmak için "securenets" seçeneðine gereksinimimiz var.
root@charly >> /usr/sbin/ypserv -v/var/yp/securenets dosyasý sunucu eriþim haklarýný denetleyebileceðimiz netmask/network çiftinin sayýlarýný içerir. Benimsenmiþ deðeri:
ypserv - NYS YP Server version 1.3.9 (with securenets)
0.0.0.0 0.0.0.0Bu dünyadaki herkes için eriþim hakký saðlar. Bunu deðiþtirmek zorundayýz. 131.234.223.0 aðýndan saðlanan her konak baðlantýsý için bunu yazabilirisiniz :
255.255.255.0 131.234.223.0Bu dosyada yalnýzca IP adreslerine sahip olduðunuza dikkat edin. Konak isimlerini kullanmak olanaklý deðil.
?imdi NIS-Veritabanýný ypinit komutuyla oluþturabiliriz. Benimsenmiþ deðer tarafýndan (Makefile içinde tanýmlanýr) dosyalarý /etc altýndan okuyacaktýr ve /var/yp altýna yazacaktýr. Dosyalar kendi veritabanýmýz içine gidecektir ; /etc/passwd, /etc/group, /etc/hosts, /etc/networks, /etc/services, /etc/protocols, /etc/netgroup, /etc/rpc.
-m seçeneði sunucunuzu karakter verisi olarak baþlatmayý saðlar (-m efendi sunucu içindir), -s seçeneði efendi veritabanýný köleye kopyalar (-s köle sunucu için).
Kendi veritabanýmýzý aþaðýdaki gibi baþlatabiliriz :
root@charly >> /usr/lib/yp/ypinit -miþte, veritabaný hazýr :). Her köle sunucuda aþaðýdaki komutu çalýþtýrmanýz gerekiyor:Bu noktada ,üzerinde NIS koþacak konaklarýn listesine sahip olmalýyýz.
servers. localhost NIS sunucunun konak listesi içindedir. Lütfen eklemeye devam edin
diðer konaklarýn isimleri, her satýra bir adet.
listeyi <control D>. ile bitiriyorsunuz
next host to add: localhost
next host to add: iron1
next host to add: iron2
next host to add: iron3
next host to add:
NIS sunucularýn mevcut listesi böyle görünür:localhost
iron1
iron2
iron3Bu doðru mu? [y/n: y] y
Veritabanýný oluþturmak için bir kaç dakikaya gereksinimimiz var...
Building /var/yp/bosley/ypservers...
Running /var/yp/Makefile...
gmake[1]: Entering directory `/var/yp/bosley'
Updating passwd.byname...
Updating passwd.byuid...
Updating group.byname...
Updating group.bygid...
Updating hosts.byname...
Updating hosts.byaddr...
Updating rpc.byname...
Updating rpc.bynumber...
Updating services.byname...
Updating netid.byname...
Updating protocols.bynumber...
Updating protocols.byname...
Updating mail.aliases...
Updating shadow.byname...
# shadow publickey # networks ethers bootparams printcap \
# amd.home auto.master auto.home passwd.adjunct
gmake[1]: Leaving directory `/var/yp/bosley'
root@iron3 >> /usr/lib/yp/ypinit -s charlySistemi test etmek için sunuculardan birisini istemci gibi kullanýn ve talepte bulunun :
root@iron3 >> ypcat passwd mulder:x:500:100::/home/mulder:/bin/csh scully:x:501:100::/home/scully:/bin/bashAyrýca gölge þifrelerin çalýþtýðýný da görebilirsiniz. þifrenin olmasý gereken yerlerde "x" var. böyle olmalý :)
|
|
Yeni köle sunucu eklemek için ,yeni sunucu üzerinde bu komutu kullanmalýsýnýz :
/usr/lib/yp/ypinit -s charly
ve efendi sunucu üzerinde /var/yp/ypservers dosyasýna yeni sunucuyu eklemelisiniz.
E?er yeni bir kullanýcý eklenirse pek çok map bundan etkilenir(passwd, shadow, alias, etc ...).
Map deðiþtirildikten sonra /var/yp/ efendi sunucu üzerinde bu dizin altýnda make komutunu çalýþtýrmalýsýnýz. Bu veritabanýný güncelleycek ve yeni veriyi köle sunuculara daðýtacaktýr.(köllere daðýtma iþlemini yppush) kullanarak yapacaktýr.rpc.ypxfrd programý efendiden kopyalayarak ve kölede yeniden oluþturarak efendi ve köle sunucular arasýndaki iþlemleri hýzlandýrabilir. rpc.ypxfrd ypserv ile ayný zamanda baþlamalýdýr. Eðer çok büyük map'ler sözkonusu ise bu programa gereksiniminiz olacaktýr.
Þifrelerin bilinebilmesi gibi NIS alan ismi de tahmin edilebilir. Makina isimleri açýk olarak bellidir ve ypwhich komutuyla test edilebilir.
NIS alan adý farklý yerlerde görünebilir, özellikle /var/yp dizini altýnda ve altdizinlerinde. Bunlar root dýþýndaki kimselerce okunamamalýdýr ve NFS yoluyla paylaþtýrýlmamalýdýr.
tcp_wrapper kullanýmý bunu kýrmaz ek olarak /var/yp/securenets pormap iþlemlerini denetlemelidir.
NIS sunucusu üzerinde bir defaultroute olmamasý ve istemci ve kölelere ulaþmada statik routing kullanýmý sizin için bir kazanýmdýr. Bu yolla sunucu bilinmeyen konaklardan gelen talepleri yanýtlamaz.
Ateþduvarý kýsýtlamalarý da NIS sunuculara eriþimi denetleyen etkili bir yoldur.
Bu güvenlik yollarý NIS'in kendi güvenliðini geliþtirmez ancak çalýþma alaný çevresinde bunu saðlar. Bu problemlere karýþn NIS çok deðerli bir araçtýr.
|
Görselyöre sayfalarýnýn bakýmý, LinuxFocus Editörleri tarafýndan yapýlmaktadýr
© Frédéric Raynal, FDL LinuxFocus.org Burayý klikleyerek hatalarý rapor edebilir ya da yorumlarýnýzý LinuxFocus'a gönderebilirsiniz |
Çeviri bilgisi:
|
2001-12-07, generated by lfparser version 2.22