Manpages

JMÉNO

exports − souborové systémy exportované pomocí NFS

SYTAXE

/etc/exports

POPIS

Soubor /etc/exports definuje přístupová práva pro souborové systémy, které mohou být exportovány NFS klientům. Je používán jak NFS mount démonem, (mountd(8)) tak i NFS server démonem (nfsd(8)).

Formát souboru je podobný formátu souboru exports na SunOS, přičemž definuje některá rozšíření. Každá řádka obsahuje bod připojení (mount point) a seznam počítačů či síťových skupin, které mají právo tento souborový systém v tomto bodě připojit. Ke každému jménu počítače je možno připojit seznam připojovacích parametrů v závorkách. Prázdné řádky jsou ignorovány a znak # uvozuje komentář až do konce řádku.

Základní přepínače

secure

Tento přepínač vyžaduje, aby připojení vycházelo z portu s číslem menším než IPPORT_RESERVED (1024). Toto je standardní nastavení. Pro jeho změnu zadejte insecure.

ro

Povoluje přístup pouze pro čtení pro toto připojení. Standardně je povolen přístup i pro zápis. Ten je možno explicitně uvést pomocí přepínače rw.

link_relative

Konvertuje absolutní symbolické odkazy (tj. ty, které začínají lomítkem) na relativní přidáním správného počtu ../ na začátek, abychom se posunuli z adresáře s odkazem do kořene serveru. Tento přepínač má význam pouze tehdy, není-li souborový systém připojen jako kořen.

link_absolute

Odkazům se ponechává jejich původní význam. Toto je standardní nastavení.

Mapování uživatelských identifikací
nfsd
zakládá kontrolu přístupu k souborům na serveru na uid a gid, které je součástí každého NFS RPC požadavku. Logický požadavek, aby uživatel přistupoval na soubory na serveru stejně jako na lokální vyžaduje, aby uid a gid byla na klientu i serveru totožná. Toto však není vždy pravda a někdy je dokonce vyžadováno, aby tomu tak nebylo.

Velmi často není vhodné, aby uživatel root na jednom počítači byl také rootem, když přistupuje na soubory na NFS serveru. Proto se uid 0 obvykle mapuje na jiné uid zvané anonymní nebo nobody . Tento mód je standardní (nazývá se root squashing) a lze jej vypnout pomocí no_root_squash.

Nfsd standardně získává anonymní uid a gid hledáním uživatele nobody v souboru /etc/passwd při startování démona. Jestliže jej nenalezne, použije -2 (65534) jako uid i gid. Tyto hodnoty mohou být změněny pomocí přepínačů anonuid a anongid.

Navíc nfsd umožňuje nastavit mapování dalších uid a gid na uživatele nobody. Mapování všech na nobody lze nastavit přepínačem all_squash.

Aby bylo možno dynamicky nastavit mapování lokálních a vzdálených uid a gid použijte nfsd přepínač map_daemon , který používá UGID RPC protokol. Aby vše fungovalo, je třeba spustit ugidd(8) mapovací démon na straně klienta.

Zde je kompletní seznam mapovacích přepínačů:
root_squash

Mapuje požadavky uid/gid 0 na anonymní uid/gid. Všimněte si, že se to netýká jiných stejně citlivých uživatelů, jako je např. bin.

no_root_squash

Vypíná root_squash. Obvykle je vhodný pro bezdiskové stanice.

squash_uids a squash_gids

Seznam uid/gid, které se mají také mapovat na anonymního uživatele. Správný seznam vypadá např. takto:

squash_uids=0-15,20,25-50

Obvykle je však tento seznam jednodušší:

squash_uids=0-100

all_squash

Mapuje všechny uživatele na anonymního. Lze jej s výhodou použít na NFS-export veřejných FTP stromů či jiných veřejně sdílených adresářů. Vypíná se pomocí no_all_squash, což je standardní nastavení.

map_daemon

Tento přepínač zapíná dynamické mapování uid a gid. Každý požadavek je přeložen do odpovídajícího serverového uid/gid a každá odpověď zase obráceně. Vyžaduje, aby byl démon rpc.ugidd(8) spuštěn na straně klienta. Standardně je nastaveno map_identity, které ponechává všechna uid beze změny. Přitom se však v každém případě použije nastavení přepínačů sqash, které mají přednost.

anonuid a anongid

Tyto přepínače explicitně nastavují anonymní uid a gid. Primární použití je pro PC/NFS klienty, kde se může každý požadavek jevit, jako byl přišel od jediného klienta. Jako příklad uveďme export pro /home/joe v příkladech dole, které mapuje každý požadavek na uid 150 (o kterém se předpokládá, že patří uživateli joe).

PŘÍKLAD

# příklad souboru /etc/exports
/ master(rw) trusty(rw,no_root_squash)
/projects proj*.local.domain(rw)
/usr *.local.domain(ro) @trusted(rw)
/home/joe pc001(rw,all_squash,anonuid=150,anongid=100)
/pub (ro,insecure,all_squash)

První řádka exportuje celý souborový systém počítačům master a trusty. Navíc, veškerý squashing je vypnut pro klienta trusty. Druhý a třetí příklad ukazuje, jak použít zástupné znaky pro jména počítačů a jména síťových skupin (to je @trusted). Čtvrtá řádka ukazuje export pro klienta PC/NFS (viz výše). Poslední řádka exportuje veřejný FTP adresář libovolnému počítači, přičemž všechny požadavky jsou prováděny jako uživatel nobody. Přepínač insecure dovoluje připojit klienty, kteří nepoužívají porty rezervované pro NFS.

UPOZORNĚNÍ

Na rozdíl od jiných implementací NFS serveru tento nfsd démon dovoluje exportovat adresář i podadresáře témuž klientovi, např. /usr a /usr/X11R6. V tomto případě se použijí přepínače, které jsou nejblíže. Dejme tomu, že klient přistupuje na soubor v /usr/X11R6, pak se uplatní přepínače pro /usr/X11R6 . Toto platí v případě, že jsou tyto přepínače definovány maskou nebo pro síťovou skupinu.

SOUBORY

/etc/exports

Konfigurační soubor pro nfsd(8).

/etc/passwd

Soubor hesel.

DIAGNOSTIKA

Chyba v tomto souboru je hlášena pomocí syslogd(8) jako úroveň NOTICE až DAEMON kdykoli je nfsd(8) nebo mountd(8) spuštěn.

VIZ TÉŽ

mountd(8), nfsd(8), nfs(5), passwd(5).