EXPORTS(5)

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).