22.10. NFS — sdílené souborové systémy

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.

22.10.1. Importování souborových systémů pomocí YaST2

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 Přidat a uveďte potřebné informace.

Obrázek 22.26. Nastavení NFS klienta v programu YaST

Nastavení NFS klienta v programu YaST

22.10.2. Ruční import souborových systémů

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

22.10.3. Exportování souborových systémů v YaST

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 Síťové služby+NFS server (viz. obrázek 22.27 – „Nástroj pro nastavení NFS serveru“).

Obrázek 22.27. Nástroj pro nastavení NFS serveru

Nástroj pro nastavení NFS serveru

Zvolte položku Spustit NFS server a klikněte na tlačítko Další. 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 Konec.

Obrázek 22.28. Nastavení NFS serveru v programu YaST

Nastavení NFS serveru v programu YaST
[Important]Automatické nastavení firewallu

Pokud máte aktivovaný firewall (SuSEfirewall2) a zvolili jste Otevřít port na firewallu, YaST upraví nastavení firewallu pro NFS server povolením nfs služby.

22.10.4. Ruční export souborových systémů

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:

  • RPC portmapper (portmap)

  • RPC mount démon (rpc.mountd)

  • RPC NFS démon (rpc.nfsd)

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ů

volbavý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

SUSE LINUX 9.2