NFS (Network filesystem) umožňuje uživateli připojit si ke svému počítači diks, popřípadě adresář z hostitelskeho počítače. K souborům připojeného svazku se přistupuje úplně stejně jako by byly na lokále. Můžeme tak snadno pracovat napřípad se svými home adresáři na kteréhokoli stroji v síti i když náš home není umístěn přímo na lokálním disku.
RPC (Remote procedure call) vyvinula firma Sun Microsystems. Server RPC poskytuje mnoho služeb. Tyto služby nemají jednoznačně přidělené číslo portu na který se připojují. Při každém požadavku na RPC službu aplikace zažádá portmaper o přidělění nějakého portu. Mezi tyto služby patří například nfsd nebo mountd. Nfsd je však tvoří vyjímku, protože používá vyhrazené číslo portu 2049. Seznam těchto služeb je v souboru /etc/rpc. Aktuální výpis všech RPC služeb a jejich portů získáme příkazem rpc -p. Aby RPC server věděl, které informace může klientovi poskytnout a které ne, používá se několik možností autentizace.
Abychom mohli používat NFS, je třeba mít v jádře přikompilovanou podporu nfs. Jestli jsme tak při konpilaci
učinili zjistíme v souboru /proc/filesystems. Dále je třeba mít spuštěné démony rpc.port, mountd, nfsd.
Máme-li všechno potřebné, je třeba nastavit soubor /etc/exports. V tomto souboru se nachází seznam všech
svazků, které je server ochoten poskytovat k připojení jednotlivým klientským počítačům.
Synaxe soubu je:
adresář klient1(volba11,volba12) klient2(volba21,volba22)
adresář - připojovaný adresář
klient - počítač, z něhož lze daný adresář připojit
volby:
/usr/local 192.168.0.1(ro) 192.168.0.2(ro) /home 192.168.0.1(rw) 192.168.0.2(rw)Adresář /usr/local si může být připojen pouze pro čtení z počítačů 192.168.0.1, 192.168.0.2.
/usr/local 192.168.0.0/255.255.255.0(ro) /home 192.168.0.0/255.255.255.0(rw)Význam jednotlivých položek je obdobný jako v předchozím případě.
portmap:ALL lockd:ALL mountd:ALL rquotad:ALL statd:ALLPříklad souboru /etc/hosts.allow
portmap: 192.168.0.1 , 192.168.0.2 lockd: 192.168.0.1 , 192.168.0.2 rquotad: 192.168.0.1 , 192.168.0.2 mountd: 192.168.0.1 , 192.168.0.2 statd: 192.168.0.1 , 192.168.0.2
Na straně klinta je třeba mít jádro, jež podporuje nfs mounting (od verze 2.2 je to v pohodě) a dále rpc.portmap.
Chceme-li, aby bylo možno uzamykat soubory, je potřeba, aby jak na straně serveru, tak na straně klienta
běžely démoni rpc.statd a rpc.lockd. Dále je třeba, abychom měli serverem povoleno mountování nějakých adresářů
(v /etc/exports) a můžeme začít připojovat. Na připojení se používá příkaz mount. Ten se pokusí pomocí RPC
procedur spojit s připojovacím démonem mountd na serveru, proběhne autentizace a následné připojení.
Příklad příkazu mount:
mount compl.domena.com:/home /mnt/homeTento příkaz nám do adresáře /mnt/home připojí adresář /home z počítače compl.domena.com
umount /mnt/homeToto připojení můžeme nechat také automaticky provést při startu počítače. Stačí přidat následující řádky do souboru /etc/fstab
# device mountpoint fs-type options dump fsckorder ... compl.domena.com:/home /mnt/home nfs rw 0 0 ...Některé důležité volby:
# device mountpoint fs-type options dump fsckorder ... compl.domena.com:/home /mnt/home nfs rw,hard,intr 0 0 ...
V některých případech se nevyplatí připojovat svazek ihned po startu systému. Je lepší svazek připojit až v okamžiku,
kdy ho opravdu potřebujeme. Z tohoto důvodu existuje démon "automatickeho pripojovani". Jedná se o démona, kteryý
automaticky (v pripade potreby) pripojuje svazky a take je automaticky odpojuje, pokud nejsou po urcitou
dobu používány. Timto démonem je automount. Dalším je amd. My si však uvedeme konfiguraci automountu. Konfigurace
tohoto démona je v souborech /etc/auto.master a /etc/misc.
Příklad souboru /etc/auto.master
/auto /etc/auto.misc --timeout 60Tento soubor říká, že všechny adresáře uvedené v /etc/misc se namapují do adresáře /auto a jednotlivé pripojené adresáře se mohou sami po 60 sekundách pokusit odpojit. Pokud jsou používány, tak se jim to samozřejmě nepovede.
kernel -ro,soft,intr ftp.kernel.org:/pub/linux cd -fstype=iso9660,ro :/dev/cdrom zip -fstype=auto :/dev/hdd4 floppy -fstype=vfat :/dev/fd0Disketa se tedy podle 1.sloupce v /etc/auto.misc a 1.sloupce v /etc/auto.master připojí do adresáře /auto/floppy