Original in frFrédéric Raynal
fr to deBernhard Spanyar
de to enGuido Socher
en to en Lorne Bailey
en to tr Ceyhun Elmas
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.