Jak již bylo uvedeno v předchozím odst. 22.8 – „NIS — Network Information Service“, NFS (spolu s NIS) umožňují, aby byla síť pro uživatele transparentní. NFS umožňuje počítačům sdílet souborové systémy v síti -- uživatel pak vidí stejné prostředí nezávisle na tom, odkud se přihlásí.
Podobně jako NIS, představuje i NFS nesymetrickou službu -- je zde server NFS a klient NFS. Počítač může vykonávat obě tyto úlohy, tj. exportovat do sítě své vlastní souborové systémy a připojovat (mount) souborové systémy jiných počítačů.
Centrální server NFS mívá obvykle velkou diskovou kapacitu. Jednotliví klienti si z něho připojují povolené adresářové stromy ke svému souborovému systému.
Každý uživatel (který je k tomu oprávněn) může připojit NFS adresáře ke svému systému. Nejjednodušší je použít pro konfiguraci YaST, kde uvedete název počítače, který dělá NFS server, adresář, který je exportovaný a bod připojení (adresář), ve kterém se pak exportovaná data zobrazí. Zvolte a uveďte potřebné informace.
Importovat systém souborů ze serveru NFS je snadné. Jediným předpokladem je, aby již běžel RPC portmapper. Spuštění serveru NFS již bylo ukázáno v souvislosti s NIS. Je-li tento předpoklad splněn, mohou se souborové systémy exportované z jiného počítače připojovat stejně snadno jako lokální souborové systémy příkazem mount. Syntaxe je zde mount -t nfs Pocitac:Vzdalená_cesta Lokalní_cesta.
Pokud se má například připojit adresář /home počítače linux namísto adresáře /home na našem počítači, dosáhneme toho následujícím příkazem:
mount -t nfs linux:/home /home
S pomocí programu YaSTmůžete svůj počítač proměnit v NFS server — server exportující adresáře a soubory na všechny ostatní počítače s povoleným přístupem. Lze tak poskytnout aplikace všem účastníkům v síti, aniž by bylo nutné tyto aplikace instalovat na jednotlivé stanice. Server nainstalujte tak, že spustíte YaST a zvolíte + (viz. obrázek 22.27 – „Nástroj pro nastavení NFS serveru“).
Zvolte položku a klikněte na tlačítko . V horním textovém poli se zadávají soubory a adresáře k exportu. Dolní textové pole je určeno pro seznam počítačů s povoleným přístupem. Dialog je zobrazen na obrázku 22.28 – „Nastavení NFS serveru v programu YaST“. Počítače lze zadat jako jednotlivý počítač, skupinu v síti, jméno počítače s metaznaky nebo IP sítě. Podrobný popis voleb najdete v manuálové stránce man exports. Nastavení dokončíte kliknutím na .
Počítač, který exportuje souborové systémy, se nazývá server NFS. Musí na něm být spuštěny následující síťové služby:
Tyto služby se spouštějí při startu systému pomocí skriptů /etc/init.d/portmap a /etc/init.d/nfsserver.
Kromě spuštění uvedených démonů se ještě musí stanovit, které souborové systémy je povoleno exportovat a na které počítače. K tomu slouží soubor /etc/exports, kde se vždy uvede na samostatnou řádku, který počítač přístup danému adresáři (včetně jeho podadresářů), a s jakými právy.
Oprávněné počítače se zadávají obvykle jejich plnými jmény, včetně domény. Také je možno použít zástupné znaky (wildcards) jako * a ?, podobně jako to dělá bash. Lze uvést i IP adresy počítačů nebo celých sítí. Pokud se nezadá žádný počítač, pak je zde omezení pouze uvedenými přístupovými právy a nikoli počítačem. Přístupová práva se dávají do závorek za jména počítačů. Nejdůležitější volby zde jsou:
Tabulka 22.12. Přístupová práva exportovaných souborů
| volba | význam |
|---|---|
| ro | Souborový systém se exportuje pouze pro čtení (standardní). |
| rw | Souborový systém se exportuje pro čtení i zápis. |
| root_squash | Uživatel root daného počítače nemá rootovská práva na tento souborový systém. To se dosáhne tím, že se user-ID 0 změní na user-ID 65534 (-2) a to se přiřadí uživateli nobody (standardní volba). |
| no_root_squash | Zachovat rootovská práva (opak předchozího) |
| link_relative | Nahradit absolutní symbolické odkazy (začínající /) odpovídající posloupností ../. Tato volba má smysl jen tehdy, je-li připojen úplný systém souborů počítače (standardní volba) |
| link_absolute | Symbolické odkazy zůstávají nezměněny. |
| map_identity | Na klientovi budou stejné user ID jako na serveru (standardní volba) |
| map_daemon | Klient a server nemají odpovídající si ID. To se sdělí programu nfsd, aby vytvořil konverzní tabulku pro user ID. Předpokladem je spuštění démona ugidd |
Soubor exports může vypadat například takto:
# # /etc/exports # /home sonne(rw) venus(rw) /usr/X11 sonne(ro) venus(ro) /usr/lib/texmf sonne(ro) venus(rw) / zeme(ro,root_squash) /home/ftp (ro) # End of exports
Soubor /etc/exports načítají démoni mountd a nfsd. Pokud se v něm něco změnilo, je třeba mountd a nfsd opětovně spustit, a to nejsnáze příkazem:
rcnfsserver restart