98
LINUX – POSTAVTE SI POČÍTAČOVOU SÍŤ
Obrázek 12.1 Transport disku ze serveru ku klientovi
NFS je běžný protokol typu klient/server. Server nabízí ke sdílení své svazky, které jsou pak připojovány a používány klienty. Komunikace serveru s klienty probíhá na portu 2049.
12.1 NFS na straně klienta Podpora klientské části musí být součástí jádra operačního systému. Zda tomu tak skutečně je, zjistíme v Linuxu následujícím způsobem: necháme systém vypsat seznam podporovaných souborových systémů: $ cat /proc/filesystems nodev nodev nodev nodev nodev nodev nodev nodev
nodev nodev nodev nodev
rootfs bdev proc sockfs tmpfs shm pipefs ext3 ext2 ramfs msdos vfat iso9660 nfs reiserfs devpts usbdevfs usbfs
Vidíme, že mezi podporovanými souborovými systémy se nachází i NFS. Pokud by tomu tak nebylo, museli bychom zavést příslušné moduly nebo zkompilovat nové jádro s jeho podporou. V běžných distribucích ale problémy očekávat nemusíte. Pokud je tedy vše v pořádku, můžeme se pustit do samotného připojení vzdáleného svazku. Bude nám k tomu stačit běžný příkaz mount. $ mount -t nfs server:/usr/domovske/pepa /home/pepa
12. Síťový souborový systém (NFS)
Ukázka elektronické knihy, UID: KOS180995
LINUX – POSTAVTE SI POČÍTAČOVOU SÍŤ
99
Tímto způsobem požádáme počítač server, aby nám poskytl obsah adresáře /usr/ domovske/pepa, který se připojí na místním počítači do /home/pepa. V příkladu jsme si ukázali připojení vzdáleného adresáře do domovského adresáře našeho uživatele Pepy. Nastínili jsme si tak jednu z příjemných možností využití NFS, kterou je distribuce domovských adresářů uživatelů po síti na jednotlivé stanice.
známka Po
Po odeslání požadavku výše uvedeným příkazem server ověří, zda má náš počítač právo takovou operaci uskutečnit. Pokud je vše v pořádku, dojde k připojení vzdáleného adresáře do bodu, který jsme určili. Pak už můžeme začít pracovat se sdílenými soubory, jako bychom je měli na lokálním disku. Pokud chceme práci ukončit, stačí zadat příkaz: $ umount /home/pepa Ten provede regulérní odpojení adresáře od serveru a celé spojení ukončí.
12.2 NFS na straně serveru Protokol NFS je na straně serveru implementován v podobě serveru, běžícího v uživatelském prostoru. Ke zprovoznění serveru jsou potřeba tři běžící démoni: rpc.portmap, mountd, nfsd. Dohromady umožňují všechny tři služby zpřístupnění NFS po síti. Celý proces se řídí obsahem souboru /etc/exports. V tomto souboru je potřeba definovat pravidla pro připojování vzdálených adresářů. Jeho syntaxe je následující: adresář
počítače(parametry)
Parametrů existuje celá řada, my si povíme o těch nejdůležitějších: ro: připojí adresář jen pro čtení, rw: připojí adresář pro čtení i zápis, root_squash: mapuje požadavky od uživatele s ID 0 (root) na anonymního uživatele,
12. Síťový souborový systém (NFS)
Položka adresář určuje cestu k místnímu adresáři (na serveru), který bude sdílen. Položka počítače určuje stroje, které mají možnost tento adresář připojovat. Jednotlivá jména oddělujeme mezerou a můžeme v nich používat zástupné znaky jako * nebo ?. Parametry pak definují vlastnosti připojených adresářů, jednotlivé položky mohou být odděleny čárkou.
no_root_squash: nechává požadavkům od uživatele s ID 0 (root) jejich ID, hodí se pro bezdiskové stanice, all_squash: mapuje všechny požadavky na anonymního uživatele, anonuid a anongid: všechny požadavky mají ID nastaveno na danou hodnotu.
12.2 NFS na straně serveru
Ukázka elektronické knihy, UID: KOS180995
100
LINUX – POSTAVTE SI POČÍTAČOVOU SÍŤ
Soubor /etc/exports tedy může vypadat například takto: / /projects /usr /home/pepa /pub
petr(rw) karel(rw,no_root_squash) proj*.local.domain(rw) *.local.domain(ro) pepovo(rw,all_squash,anonuid=150,anongid=100) (ro,all_squash)
Jak vidíte, NFS nenabízí žádné pokročilé funkce pro autentizaci, řízení přístupu a podobně. Jeho výhodou je proto především velmi jednoduchá konfigurace a široká podpora mezi různými unixovými systémy. Pokud chcete více, budete muset sáhnout po jiných protokolech, mezi něž patří například Samba.
12. Síťový souborový systém (NFS)
Ukázka elektronické knihy, UID: KOS180995