Home Map Index Search News Archives Links About LF
[Top bar]
[Bottom bar]
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 :

NFS - A� Dosya Sistemi

�eviri : Erhan Ekici

�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.



Giri� :

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. .
   

Dosya Sistemlerinin genel ve ayr�nt�l� olmayan tan�t�m�

NFS hakk�nda konu�madan evvel ,Dosya Sistemi terimini anlamal�y�z. Dosya Sistemi, veriyi, d�zenlenebilece�i ve y�netilebilece�i bir ortam'a(media) kaydetmeye yarayan bir yoldur.Belli ba�l� Dosya sistemleri �unlard�r: NTFS(New Technology FileSystem), High Performance FileSystem (HPFS), DOS, FAT 12/16/32, VFAT, Macintosh Hierarchical Filesystem (HFS), ISO 9660 (for CD-ROM), extended file systems (Ext, Ext2, Ext3)).

�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 protokol�

NFS olarak adland�r�lan �ey birbirinden farkl� 4 protokol�n birle�mesinden meydana gelmi�tir.Bu 4 protokolde RPC(Remote Procedure Calls) ve portmap(rpc.portmap) portmapper,RPC program numaralar�n� port numaralar�na �evirir.RPC sunucusu �al��maya ba�lad���nda portmap'e hangi kap�n�n kullan�laca��n� ve y�netilen RPC program numaras�n� s�yler.Bir kullan�c� bir program numaras�na bir RPC iste�i g�ndermek istedi�inde ; istenen programa eri�im veren port numaras�n� almak i�in �ncelikle sunucu 'portmap'iyle ba�lant� kurulur.Ard�ndan RPC paketleri ilgili portlara g�nderilir.

NFS nin �al��mas�n� sa�layan 4 yar�d�mc� �unlard�r:
 
Protokol
Tan�m�
Arabirimi(Daemon)
nfs Temel protokol olup dosya yaratma,arama,okuma,yazmaya izin verir.G�venilirlik ve dosya istati�inide y�neten protokold�r.
nfsd
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.
mountd
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.
statd
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.
lockd

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"
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
�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)

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.  

Kurulum

 

Sunucu

�ncelikle yap�lmas� gereken, daha �ncede g�rd���m�z gibi NFS ce istenen portmap protokol�n� �al��t�rmakt�r.
root >>/usr/sbin/rpcinfo -p
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
'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.

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:

Kurulum se�eneklerinin hhepsini s�ralamayaca��zi fakat en �nemlileri �unlard�r: NFS sunucusunda ba�lamak i�in �imdi rpc-mountd ve rpc.nfc arac�lar�na ba�lamal�y�z.rpcinfo komutuyla her�eyin �al��t���n� kontrol ederiz.Hatta, sunucuyu nsm ve nlm protokolleri(rpc.statd ve rpc.lockd) ile ba�latabiliriz.Bunlar bir NFS sunucusunu �al��t�rmak i�in gerekli de�ildir fakat bir makinan�n bozulmas�, reboot etmesi vb. durumlara kar�� �iddetle tavsiye edilir.

/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:

Bir istemci bir dosya dizgesine eri�mek istedi�i zaman, mountd dosyas�na sormakla i�e ba�lar.E�er sorgu olumluysa etab dosyas�nda onu arar.Sorgulamay� (firewall kurallar�,hosts.{allow,deny}) yapabilmesi i�in istemciye izin verilip verilmedi�ini ��renmek i�in kernel'i kontrol eder. /var/lib/nfs/etab dosyas�n� g�ncellemek i�in istemciye izin verilip verilmedi�ini kontrol i�in kernel exportfs dosyas�n� kullan�r.E�er bu dosyada, ihra� sisteme grup istemcilerinin bir b�l�m�n� ihra� etmesine izin verilmi�se mountd bu yeni hostu ile xtab dosyas�n� g�ncellemek i�in kernel ile ileti�ime ge�er.  

�stemci

Nfs taraf�ndan ihra� edilen bir dosya dizgesine eri�im do�ruca kernel taraf�ndan y�netilir.NFS destekli derlenmek zorundad�r./proc/filesystems dosyas� kernel taraf�ndan do�ruca desteklenen t�m dosya dizgelerini listeler.Daha sonra NFS tarf�ndan ihra� edilmi� bir sisteme eri�mek istedi�ini kernele s�ylemek zorundas�n.

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/local
Komut, 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

 

Uyar�

NFS ile yayg�n bir problem, istemci ve NFS sunucusu aras�nda g�venli bir ili�kinin ,default olarak var oldu�u ger�e�inden gelir.Bu durumda e�er sunucunun 'root' hesab� uyumlu ise istemcininki de uyumlu olacak.NFS How-to lar� g�venli�i artt�rmak i�in baz� ayarlar� tarif eder.Bir istemci sunucuya g�z� kapal� g�venemez.Bu nedenle mount komutunu kullan�rken ba��l parametreleride belirtmeliyiz.Yukar�da bir tanesine de�indik:nosuid. SGID bit izlerini iptal eder.Bu nedenle 'root' kullan�c�s� sisteme �ncelikle normal kullan�c� gibi girmeli daha sonra 'root' olmal�. Di�er bir parametre daha k�s�tlay�c� olan noexec parametresidir.Bu parametre ihra� edilmi� dosya dizgesi �zerinde program �al��t�rmay� yasaklar.Bu parametre yanl�zca �zerinde sadece veri tutan sistemler i�in kullan�labilirdir.

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
 

NIS, NFS ve autofs kullan�m�

��mdi ancak bir �irkette rastlayabilece�in biraz daha kar���k bir a�� inceleyelim.Evde kurulmu� ufak bir a�da muhtemelen NIS olmadan �al��abilirsin. NIS Network Information Service di�er makinalara konfig�rasyon dosyalar�n� da��t�r.
A��m�zdaki as�l sunucu charly ve a��m�z�n di�er 3 makinas� sabrina, jill ve kelly. charly yi alan adi i�in bir NIS sunucusu gibi konfig�re ederiz.Di�er makinalar sadece charly nin NIS istemcileridir.

�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/netgroup
charlysangels (sabrina,,) (jill,,) (kelly)
 NFS uyar�ld���nda, konfig�rasyonun hayli k�s�tlay�c� oldu�unu biliyoruz. charly den /etc/exports dosyas�n�n tuttu�u bilgi :
# /etc/exports
/usr/local    @charlysangels(ro)
ihra� 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:
# /etc/auto.map
charly          charly:/usr/local
B�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.
#Yellow Pages Makefile a eklenecek
AUTO_MAP    = $(YPSRCDIR)/auto.map
# ...
#...
auto.map: $(AUTO_MAP) $(YPDIR)/Makefile
            @echo "Updating $@..."
            -@sed -e "/^#/d" -e s/#.*$$// $(AUTO_MAP) | $(DBLOAD) \
            -i $(AUTO_MAP) -o $(YPMAPDIR)/$@ - $@
            -@$(NOPUSH) || $(YPPUSH) -d $(DOMAIN) $@
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.

�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.master
/usr/local    yp auto.map    --intr,nosuid,nodev
Bundan sonra "autofs" yi etkin k�lmak i�in tekrar ba�latmal�y�z.

��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.
   

Kaynaklar

Dosya Sistemleri


NFS



Footnotes

... inode1
veri tutan fiziksel blok adresleri,dosya eri�im izinleri vb tutan dosya tan�mlay�c�s�...
... /etc/mtab2
Bu dosya kernel taraf�ndan mount edilmi� b�t�n dosya sistemlerinin listesini tutar.

 

Bu makale i�in de�erlendirme formu

Her makale kendi tart��ma sayfas�na sahiptir.Burada kendi yorumlar�n�z� yazabilece�iniz gibi daha �nce yaz�lm�� yorumlar� da okuyabilirsiniz:
De�erlendirme sayfas�

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:
en -> tr Erhan Ekici
fr -> -- Frédéric Raynal
fr -> en Philippe Trbich

2000-10-28, generated by lfparser version 1.8