Konfigurace NFS serveru
Pro konfiguraci serveru NFS jsou nezbytné dva základní kroky:
1) vytvoření souboru /etc/exports
Zde se definuje, které části disku serveru budou sdíleny s ostatními uživateli sítě a jsou zde také stanovena pravidla tohoto sdílení. Je zde například uvedeno, zda má určitý uživatel právo z disku číst nebo / a na disk také zapisovat.
2) Spuštění procesů serveru NFS, který se řídí instrukcemi zapsanými v souboru /etc/exports.
KROK ZA KROKEM
1) Konfigurační soubor /etc/exports
Servery NFS mají jediný konfigurační soubor, kterým je /etc/exports. V tomto souboru je uveden seznam diskových oddílů, které lze sdílet, seznam uživatelů, kteří je smí sdílet a jejich přísupová práva. Zde je příklad:
/dir/to/export client1 (permissions) client2 (permissions) \ client3 (permissions)
kde jednotlivé výrazy znamenají:
/dir/to/export je adresář, který chceme sdílet s ostatními uživateli (např. /export/home)
client1, client2 atd., jsou jména stanic klientů NFS
permissions jsou přístupová práva příslušná k dané klientské stanici
Příklad kompletního konfiguračního souboru NFS /etc/exports:
#
#/etc/exports for nfsserver.domain.com
#
/export/home denon (rw) technics (rw) vestax (rw) \
unixadmin (rw,no_root_squash)
/export/usr/local denon (rw,no_root_squash) \
technics /rw,no_root_squash) \
bertax (rw,no_root_squash) \
unixadmin (rw,no_root_squash)
/export/anonftp ftpserver (ro,no_root_squash)
Parametr | Význam |
secure | Číslo, po kterém klient požaduje připojení musí být menší než 1024 (standardní nastavení) |
ro | Přístupová práva k diskovému oddílu pouze pro čtení |
noaccess | Klientovi bude odepřen přístup do všech podadresářů adresáře dir/to/mount. Tímto parametrem umožníte klientovi připojit např. adresář /dir, přičemž např. přístup do /dir/to zakážete, ale přístup do dir/from povolíte. |
no_root_squash | Standní bezpečnostní opatření způsobuje, že server ignoruje požadavky na diskový oddíl superuživatele přes síťový souborový systém NFS. Chcete – li povovlit superuživateli přístup z klientské stanice k adresářům připojeným přes NFS, musíte dané adresáře připojit s tímto parametrem. |
squash_uids=uid-list | Je – li vygenerován požadavek na NFS, obsahuje UID uživatele, od kterého požadavek vzešel. Tato informace dovoluje NFS rozlišit práva jednotlivých uživatelů. Parametr squash_uids=uid-list použijte v případě, kdy chcete omezit přístup některých uživatelů, reprezentovanýc jejich UID k určitým diskovým oddílům. Proměnná uid-list představuje čárkami oddělený seznam UID, které chcete zakázat. Je možné oužít i rozsahy. Např. squash_uids=5,10-15,20,23 |
squash_gids=gid-list | Funguje stejně jako squash_uids, pracuje však s ide skupin (GID) |
rw | Obvyklá práva pro čtení a zápis. |
2) Příkaz k načtení souboru /etc/exports
Je – li soubor /etc/exports vytvořen, musíme použít příkaz exportfs na jehož základě načte server NFS konfigurační data. příkaz exportfs má následující parametry:
Parametr | Popis |
-a | Exportuje všechny záznamy v souboru /etc/exports |
-r | Opakovaně exportuje všechny záznamy v souboru /etc/exports |
-u client:/dir/to/mount | Neexportuje adresář /dir/to/mount pro klienta client |
-o options | Zde je možné zadávat stejné parametry jako parametry uvedené v přechozí tabulce. Budou se však vztahovat k souborovému systému určenému v příkazovém řádku exportfs |
-v | Získáme tak průběžné informace o procesu. |
Příklady použití příkazu exportfs:
Chceme -li exportovat všechny souborové systémy:
# exportfs -a
Chceme -li exportovat např. adresář /exporrt/stuff pro klientskou stanici lenovo s právy pro čtení a zápis a_no_root_squash:
# exportfs – o rw,no_root_squash lenovo:/export/stuff
Ve většině prípadů stačí jednoduchý příkaz exportfs -r
3) Kontrola nastavení – příkaz showmount
se používá k ověření toho, zda vše funguje správně. Po nastavení souboru /etc/exoprts a exportu všech souborových systémů za použití příkazu exportfs můžeme zadat příkaz showmount -e Tím se zobrazí seznam exportovaných souborových systémů. Parametr -e říká příkazu showmount, aby vypsal exportované adresáře. Spustíte – li showmount bez parametrů, vypíše klienty připojené k serveru. Použitím příkazu showmount můžete rychle zjistit, zda jste nfsd natavili správně. Tentýž příkaz můžete spustit na klientech předáním názvu serveru jako posledního parametru:
# showmount -e backup
4) Připojení stanice ke sdílenému adresáři skriptem
Pokud je vše správně nakonfigurováno, lze se připojit k exportovanému adresáři jednoduchým skriptem.
Jmenuje -li se nfs server backup a je vyexportovaný adresář /mnt/zaloha, vypadá skript následovně:
mount -t nfs backup:/mnt/zaloha /mnt/zalohamistni
Poznámka1: Samozřejmě musíme na klientské stanici mít vytvořený adresář, kte kterému připojíme vzdálený adresář. V tomto případě je to /mnt/zalohamistni
Poznámka2: POZOR! S použitím NFS4 se mění příkaz pro připojení souborového systému na nfs4. Příkaz tedy vypadá takto:
mount -t nfs4 backup:/mnt/zaloha /mnt/zalohamistni
5) Časté problémy:
a) Při exportu souborových systémů se Vám může stát, že server odmítne přístup určitému klientovi, přestože je uveden v souboru /etc/exports. Je to obvykle způsobeno tím, že server zaznamená adresu IP klienta, který se pokouší o připojení a doplní ji na plně kvalifikované doménové jméno (FQDN), které však neodpovídá jménu, pod kterým je klient uveden v souboru /etc/exports. Server se např. domnívá, že se klient jmenuje denon.domain.com, ale v /etc/exports je uvedeno pouze denon.
b) Dalším častým problémem je, že server určí IP adresu klientské stanice špatně. K této situaci může dojít, je – li chyba v souboru /etc/hosts nebo v tabulce DNS. Budete muset ověřit, zda IP adresy opdpovídají příslušným klientským stanicm.