Bu makalenin �ngilizce , Frans�zca, T�rk�e �evirisi |
Yazar : Frédéric Raynal Yazar hakk�nda : Frédéric Raynal d�vme resimler konusunda bilgisayarda bir tez haz�rl�yor.Y�zy�l�n ba��nda i�inde Th.Roosevelt'inde bulundu�u(onun polis memuru oldu�u zamanlar) s�r�kleyici dedektif romanlar� okuyor.Ortam �ok karanl�kt�r. Olay,seri �ocuk cinayetleri i�leyen bir katili bulmak i�in biraraya gelmi� insanlar� anlat�yor. Bu grup olay� ��zmek i�in psikoloji,parmakizi gibi yeni teknolojiler ile desteklenir. Caleb Carr'�n bu roman� L'ange des ténèbres, ge�en y�zy�l�n ba�lar� hakk�nda �a��rt�c� bir tablo �izer. ��indekiler : |
�zet:
Bir A� Dosya Sistemi (NFS),bir a� �zerindeki birden fazla bilgisayarda bulunan dosyalar�n, tek bir sabit diskte yeral�yormu�cas�na y�netilmelerini sa�lar.Dosyalara eri�ebilmek i�in onlar�n fiziksel olarak nerede bulunduklar�n� bilmeyi gerektirmez.
NFS verilerin bir�ok bilgisayarda payla��lmas�n� sa�lar.Bu sayede bir kullan�c�n�n sadece �zel bir bilgisayardan a�a oturum a�mas� gerekmez.NFS yoluyla herhangi bir makinadan kendi dizinine (home directory) eri�ebilir.
Ancak NFS �ok yeterli bir protokol olmay�p , modem ba�lant�s� �zerinde �ok yava�t�rda. Yerel a�lar (local network) i�in tasarlanan NFS hayli esnektir ve hem kullan�c�lar hemde sistem sorumlular�(adminisrator) i�in bir �ok olas�l�k sunmaktad�r.
Bu sistem dikkatli bir kullan�m gerektirir.Herkesin a� �zerine veri giri�ine izin vermek do�ru bir y�netim plan� olmayabilir.Birka� gerekli �nlem riski azaltacakt�r.
bu makale Dosya Sistemleri konusunda k�sa bir bak�� yapt�ktan sonra NFS protokol�ne de�inmektedir.Ard�ndan daha az kuramsal bir b�l�me ge�ilip NFS sunucusu ve �stemcisinin kurulmas�,ve al�nmas� gereken minimum g�venlik �nlemleri anlat�lacakt�r.Daha sonra bir �rnek �zerinde NFS,NIS ve "autofs" �n nas�l birle�tirilece�i resimle �rneklendirilecektir.
.
�rne�in, veri tutan her fiziksel ortam (sabit disk gibi), bilgi saklayan/tutan k���k birimlerin s�ralanmas�ndan,yani 'bloklardan' olu�ur.Her dosya sistemi bu bloklar� farkl� bi�imde y�netir.�ekil-1 de iki blok kullanan bir dosya giri�i yapmaya �al���yoruz.�stte,dosya en son kullan�lan bloktan sonras�na konuluyor ve ba�lang��ta bo� alan b�rak�yor.Alttaki ba�ka bir dosya dizgesine ait resimde ise dosya ilk bo� alana yerle�tiriliyor.B�yle bir y�ntem diskin ne kadar par�alanaca��na etki eder.Baz� dosya sistemleri par�alanmay� otomotik olarak �nlemekteyken, baz�lar�n�n kullan�c� taraf�ndan birle�tirilmeleri gerekebilir.
�ekil-1 : 'Bloklar�' yerle�tirmenin iki farkl� yolu
Linux'taki en bilinen dosya sistemi ext2fs (extended 2 file system) dir. Her dosya bir inode1taraf�ndan g�sterilir.Dizinler dosya listesini tutar ve ayg�t eri�imi , belirli dosyalar�n okunup-yaz�lmas� gibi i�lemlerle yap�l�r.
NFS sunucusunun g�revi kullan�c�lara eri�mek istedikleri 'inode' lar� vermektir.Yine de,bir kullan�c� sadece dosyan�n 'inode' yla �ok iyi �al��amaz.Sunucu di�er makinalar�n 'inode' lar� kullanmas�na izin veren ek bir a� katman�(net layer) da vermektedir.
NFS nin �al��mas�n� sa�layan 4 yar�d�mc� �unlard�r:
Protokol |
|
|
nfs | Temel protokol olup dosya yaratma,arama,okuma,yazmaya izin verir.G�venilirlik ve dosya istati�inide y�neten protokold�r. |
|
mountd | �hra� edilen dosya dizgelerinin nfs ile eri�imlerini sa�lamak i�in kurulmalar�ndan sorumludur. 'mount' ve 'umount' gibi istekleri alan sunucu ihra� edilen dosya dizgelerine ait bilgileri tutmak zorundad�r. |
|
nsm
(A� Durum Ekran�) |
Bir makinan�n durumunu(sunucu-istemci) belirlemek i�in a� d���mlerini izleyip kontrol etmek amac�yla kullan�l�r.�rne�in 'reboot' eden bir makinay� bildirir. |
|
nlm
(A� kilit y�neticisi) |
Ayn� anda farkl� istemcilerin verileri de�i�tirmesini engellemek i�in bu protokol bir kilit dizgesi kullan�r.Hangi dosyalar�n kullan�ld���n� bilir ve nsm protokol�n�n yard�m�yla bir istemcinin ne zaman yeniden ba�lad���n� saptar.Nsm, her kullan�c�n�n kilidini, geri vermeden �nce serbest b�rak�r. |
|
En son �ekirdek(kernel) s�r�mlerinde NFS ve nlm protokollerini do�rudan destekleyen knfsd arac�s� mevcuttur.Fakat mount ve nsm hen�z desteklenmemektedir.Bir NFS sunucusu kurulup �al��t�r�ld���nda �u komutla her�eyin �al��t���n� ger�ekleyebiliriz:
>> ps auxwww | egrep "nfs|mount|lock|stat"�u anda NFS nin NFSv2 ve NFSv3 olarak iki s�r�m�n� bulmak m�mk�nd�r.Linux'un NFS sunucular� sadece 2.s�r�m� desteklemektedir(�nceki �rnekte mountd sat�r�ndaki se�enekten itibaren)
root 1370 0.0 0.2 1176 580 ? S 22:28 0:00 rpc.mountd --no-nfs-version 3
root 1379 0.0 0.0 0 0 pts/0 SW 22:28 0:00 [nfsd]
root 1380 0.0 0.0 0 0 pts/0 SW 22:28 0:00 [nfsd]
root 1381 0.0 0.0 0 0 pts/0 SW 22:28 0:00 [nfsd]
root 1382 0.0 0.0 0 0 pts/0 SW 22:28 0:00 [nfsd]
root 1383 0.0 0.0 0 0 pts/0 SW 22:28 0:00 [nfsd]
root 1384 0.0 0.0 0 0 pts/0 SW 22:28 0:00 [nfsd]
root 1385 0.0 0.0 0 0 pts/0 SW 22:28 0:00 [nfsd]
root 1386 0.0 0.0 0 0 pts/0 SW 22:28 0:00 [nfsd]
root 1399 0.0 0.0 0 0 pts/0 SW 22:28 0:00 [lockd]
root 1409 0.0 0.2 1156 560 ? S 22:28 0:00 rpc.statd
root 1652 0.0 0.1 1228 484 pts/3 S 22:49 0:00 egrep nfs|mount|lock|stat
NFS, 'file handle' denilen bir veri yap�s�yla ilgilidir.Olduk�a �zel 'bit' serilerinden olu�ur.Bu seriler her dosya sistemi nesnesini tek bir y�ntemle tan�may� sa�lar.�rne�in bir dosya 'inode' nun yan�s�ra dosyan�n nerede tutuldu�unu ayg�ta bildiren bir girdide i�erir.
root >>/usr/sbin/rpcinfo -p'rpcinfo' komutu RPC servislerinin (-p) ile �zetlenen makinalarda �al��t���n� g�sterir.'portmap' hen�z �al��mamaktad�r.(�o�u Linux da��t�mlar� sistem a��l���nda bunu ger�ekle�tirmek i�in bir script sunarlar.) rpcinfo komutuna kar�� verilen olumsuz yan�t�n s�k kar��la��lan bir ba�ka nedeni de 'portmapper' in /etc/hosts{allow,deny} dosyalar�nda yer alan g�venlik k�s�tlamalar� nedeniyle yan�t veremez olu�udur.Bu durumda hosts.allow dosyas�na "portmap:hosts" girdisi ekleyiniz.
rpcinfo: can't contact portmapper: RPC: Remote system error - Connection refused
root >>/sbin/portmap
root >>/usr/sbin/rpcinfo -p
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
NFS ba�lat�lmadan �nce konfig�rasyon ayarlar� yap�lmal�d�r.Sadece bir kongif�rasyon dosyas� vard�r. ve /etc/exports olarak an�l�r.Her sat�r ihra� yerini ve eri�ime sahip istemcilerin listesini i�aret etmektedir.Her istemci ad�n�n sonuna parametre eklemek m�mk�nd�r.'man exports' sayfas� istemci adlar� ve parametreler i�in s�z dizimini a��klamaktad�r.
�stemci adlar� i�in izin verilen bi�imler ��yle s�ralanabilir:
/etc/exports konfig�rasyon dosyas�n�n i�eri�ini de�i�tirdi�mizde , etkilenmi� olan arac�lar� de�i�iklikler hakk�nda uyarmal�y�z. 'exportfs' komutu bu bilgiyi sunucular�m�za iletir. -r se�ene�i /etc/mtab 2 dosyas� ile /etc/exports dosyalar�n� e�ler. -v se�ene�i ise ihra� edilen dosyalar�n dizgelerini se�enekleriyle birlikte g�sterir.
Sistem a��l���ndan sonra �nemli bilgileri i�eren dosyalar� s�ralayacak olursak:
mount komutu farkl� ndosya dizgelerine eri�meye izin verir.Yeni bir dosya dizgesinin uygun oldu�unu kernele bildirir. -t parametresi kullan�lan dosya dizgesinin tipini belirlemek i�in kullan�labilir.NFS i�in -t nfs yazar�z.
mount komutunun nfs i�in kendi �zel parametreleri vard�r.Mesela , rsize ve wsize parametreleri okuma ve yazma i�in blok kapasitesini de�i�tirmek i�in kullan�labilir.intr,noexec veya nosuid gibi genel parametrelerle NFS nin �zel parametrelerini birle�tirebilirsin.
charly adl� bir makinan�n NFS sunucusuna sahip oldu�unu ve onu /usr/local klas�r�nde tuttu�unu varsayal�m./usr/local jill adl� makinadan ona eri�mek istendi�i zaman , charly den jill e ihra� edilen klas�r� kurmak zorundas�n:
root@jill >> mount -t nfs -o nosuid,hard,intr charly:/usr/local /usr/localKomut, nosuid,hard ve intr parametreleri ile bir NFS dosya dizgesi kuruyor oldu�umuzu g�sterir.Son iki parametre en ilgin� olanlar�d�r.Birincisi kurulacak par�ay� belirtir.NFS i�in klas�r ve par�alar� belirtti�in yerdeki normal mount komutundan farkl� bir yaz�m bi�imine(syntax) sahiptir. Burada sunucu yu belirtiriz:ihra� edilmi� klas�r(par�an�n yerine).Son parametre istemcide dosya dizgesinin yerini belirtir. Sadece charly nin /usr/local ini jill ile payla��r�z ve bir kereden fazla /usr/local de programlar� kurmaktan sak�nabiliriz.Bu ayar� s�rekli hale getirmek i�in jiil deki etc/fstab dosyas�nda onu belirtebiliriz.fstab dosyas� a��l��ta �al��an b�t�n programlar� i�erir. /etc/fstab i�in kullan�m �ekli(syntax):
# device mount point file system options dump fsckorder
charly:/usr/local /usr/local nfs nosuid,hard,intr 0 0
NFS sunucu taraf�nda, istemcinin root hesab�na g�venmedi�imizi ayr�ca belirtebiliriz.Bunu root_squash parametresi ile /etc/export da belirtmeliyiz.Sonra , e�er istemcide root hakk� olan UID 0 l� (root) bir kullan�c� sunucu taraf�ndan ihra� edilen dosya sistemine eri�irse , dosyalar� sorgulamak i�in nobody yerine konur.Bu parametre Linux alt�nda default olarak aktiftir.Fakat no_root_squash parametresi ile iptal edilebilir. Ayr�ca hat�rlanmas� gereken bir nokta anonuid ve anongid parametreleri kullan�c�n�n UID/GID stat�s�n� nobody den farkl� bir taneye �evirmeye izin verirler.
Baz� durumlar daha geneldir ve portmapper i etkiler. mesela /etc/hosts.denydosyas�nda a�a��daki sat�rla b�t�n makinalara eri�imi kapat�r�z:
# hosts.deny : absolute prohibition for every one to
# use the portmap
portmap: ALL
Daha sonra /etc/hosts.allow
dosyas�nda bu kat� s�n�rlama varsay�lan baz� makinalara izin verilerek gev�etilebilir.
Firewall daha iyi bir koruma sa�lar.Farkl� servisler taraf�ndan kullan�lan portlar� izler ,kullan�lan protokoller:
RPC Servisi | Port | Protokoller |
portmap | 111 | upd / tcp |
nfsd | 2049 | udp |
mountd | variable | udp / tcp |
�lk olarak Sunucumuz olan charly nin konfig�rasyonuna bakal�m.Gerekli b�t�n bilgileri tutan baz� NIS haritalar� tan�mlamakla i�e ba�layal�m.
/etc/netgroup dosyas� yayg�n karakteristiklere sahip makina gruplar�n� tutar.(mesela ayn� mimari).Bir NIS haritas� NFS i�in cok faydal�d�r.Ayn� ihra� dosya sistemlerine eri�ebilen b�t�n makinalar� toplamak zorunday�z.Bu grup daha sonra bire bir b�t�n istemcileri belirtmek yerine /etc/exports dosyas�nda tutularak kullan�l�r:
# /etc/netgroupNFS uyar�ld���nda, konfig�rasyonun hayli k�s�tlay�c� oldu�unu biliyoruz. charly den /etc/exports dosyas�n�n tuttu�u bilgi :
charlysangels (sabrina,,) (jill,,) (kelly)
# /etc/exportsihra� edilmi� /usr/local klas�r�ne eri�mek i�in automount kullanmaya karar veriyoruz.Sistem a��l���nda bu sistemi mount etmenin yerine, bu klas�rdeki bir dosyaya bir kullan�c� eri�mek istedi�i zaman bu i�lem otomatik olarak yap�l�r. NIS ve automount taraf�ndan nelerin eri�ilebilir olaca��n� tan�mlamak i�in /etc/auto.map dosyas�n� yarat�yoruz:
/usr/local @charlysangels(ro)
# /etc/auto.mapB�t�n bu bilgilerin (auto.map ve netgroup dosyalar�) bir NIS veritaban�na toplanmas�n� istiyorsak, makefile dosyas�n� tekrar yaratmadan �nce onu g�ncellemeliyiz. netgroup un tabana eklenece�inden emin olmal�y�z.
charly charly:/usr/local
#Yellow Pages Makefile a eklenecek
AUTO_MAP = $(YPSRCDIR)/auto.map
# ...
#...
auto.map: $(AUTO_MAP) $(YPDIR)/Makefile
@echo "Updating $@..."Bu kural sadece yorumlar� kald�r�r,veritaban�na yeni bir giri� ekler ve sonra t�m sunuculara bilgiyi g�nderir./var/yp klas�r�nden make'i �al��t�rmal�y�z.
-@sed -e "/^#/d" -e s/#.*$$// $(AUTO_MAP) | $(DBLOAD) \
-i $(AUTO_MAP) -o $(YPMAPDIR)/$@ - $@
-@$(NOPUSH) || $(YPPUSH) -d $(DOMAIN) $@
�imdi �� istemcimiz, sabrina, jill ve kelly.YP ler taraf�ndan verilen yeni bir haritay� y�netmek i�in "autofs" ye s�ylemeliyiz.Her istemcinin /etc/auto.master dosyas� a�a��daki sat�rlar� do�rular.
#/etc/auto.masterBundan sonra "autofs" yi etkin k�lmak i�in tekrar ba�latmal�y�z.
/usr/local yp auto.map --intr,nosuid,nodev
��mdi charly makinas�nda tek bir(e�siz) /usr/local fiziksel klas�r�ne sahibiz.Sonra "charly" �zerine spesifik programlar kuruldu�u zaman b�t�n makinalar onlar� kullanabilir.
Bu �rnek sadece bir /usr sistemi, /usr/doc veya di�erlerinin kurulumu ile daha da geli�tirilebilir.Fakat pratikte, iyi bir fikir de�ildir.Kurulum s�k s�k , /etc klas�r�
veya di�erlerindeki dosyalar� d�zenlemeyi gerektirir..Payla��lmam�� dosyalar� b�t�n makinalarda d�zenlemeliyiz.
NFS
|
Web sayfalar� Linuxfocus edit�r grubu taraf�ndan d�zenlenir.
© Frédéric Raynal LinuxFocus.org 2000 Linuxfocus dergisine yorum ve hata bildirimi i�in t�klay�n�z. |
�eviriler:
|
2000-10-28, generated by lfparser version 1.8