exports(5) systemy plików eksportowane w systemie NFS

SKŁADNIA

/etc/exports

OPIS

Uwaga! To tłumaczenie może być nieaktualne!

Plik /etc/exports zawiera listę systemu plików, które mogą być eksportowane dla klientów systemu NFS. Jest wykorzystywany zarówno przez demona mountd(8) jak i przez demona servera plików w systemie NFS nfsd(8).

Format pliku jest zbliżony do stosowanego w systemie SunOS, z wieloma dodatkowymi rozszerzeniami. Każdy wiersz zawiera punkt montowania oraz listę komputerów lub nazwy grup (netgroups), które są uprawnione do montowania tego punktu. Po nazwie każdego komputera można podać umieszczoną w nawiasie listę parametrów, jakie należy zastosować w przypadku montowania danego punktu przez ten komputer. Puste wiersze są ignorowane, a znak # rozpoczyna komentarz kończący się wraz z wierszem.

Opcje ogólne

secure
ta opcja wymaga, aby żądania pochodziły z portu mniejszego niż IPPORT_RESERVED (1024). Standardowa ta opcja jest włączona, aby ją wyłączyć należy napisać insecure.
ro
ta opcja zezwala na zamontowanie punktu w trybie tylko do czytania. Standardowo zezwala się na operację pisania, co można zaznaczyć jawnie za pomocą opcji rw .
link_relative
ta opcja powoduje zamienianie bezwzględnych dowiązań symbolicznych (zawartość dowiązania rozpoczyna się znakiem '/') na dowiązania względne, przed dostawianie odpowiedniej liczby sekwencji '../' tak, aby z katalogu zawierającego dowiązanie dostać się na katalog główny. Ta opcja ma subtelną, może nawet niepoprawną, semantykę w przypadkach, gdy hierarchia plików nie jest montowana w katalogu głównym '/'.
link_absolute
ta opcja powoduje pozostawienie wszystkich dowiązań symbolicznych bez żadnych zmian. Jest to zachowanie standardowe.

Przyporządkowywanie identyfikatora UID

Demon nfsd opiera swą kontrolę dostępu plików serwera na identyfikatorach uid i gid przesyłanych z każdym żądaniem NFS. Standardowym zachowaniem, jakiego można się spodziewać jest dostęp do własnych plików, tak jak byłyby one umieszczone na lokalnym systemie plików. Wymaga to użycia tych samych identyfikatorów użytkownika (uid) i grupy (gid) zarówno na serwerze, jak i na kliencie. Warunek ten nie jest zawsze spełniony, a czasami wręcz niepożądany.

Bardzo często jest niepożądane, by uzyskując dostęp do plików umieszczonych na serwerze administrator na komputerze kliencie był traktowany tak samo, jak gdyby był administratorem serwera. W tym celu identyfikator uid 0 pochodzący z żądań NFS jest zamieniony przez serwer na inny identyfikator, tzw. anonymous (anonimowy) lub nobody (nikt). Ten tryb pracy (zwany 'root squashing') jest zachowaniem domyślnym serwera, i może być wyłączony za pomocą opcji no_root_squash.

Domyślnie demon nfsd podczas uruchamiania próbuje pobrać identyfikatory uid i gid anonimowego użytkownika sprawdzając czy istnieje użytkownik nobody w pliku /etc/passwd. Jeśli taki użytkownik nie istnieje anonimowym identyfikatorom uid i guid jest nadawana wartosc -2 (65534). Wartości te mogą zostać zmienione za pomocą opcji anonuid i anongid.

Dodatkowo demon nfsd pozwala na określenie dowolnych identyfikatorów uid i guid jakie powinny zostać nadane anonimowemu użytkwnikowi (nobody). Ostatecznie można zmieniać wszystkie żądania na żądania pochodzące od anonimowego użytkownika przez podanie opcji all_squash.

Serwer nfsd udostępnia również możliwość dynamicznej zamiany identyfikatorów uid i gid servera na identyfikatory klienta i na odwrót. Włączane jest to za pomocą opcji map_daemon, zaś w tym celu wykorzystywany jest protokół UGID RPC. Dlatego, aby to przekodowanie pracowało poprawnie wymagane jest uruchomienie na komputerze kliencie demona ugidd(8).

Poniżej kompletna lista opcji zamiany identyfikatorów:

root_squash
Zamień żądania z identyfikatorami uid/gid 0 na żądania pochodzące od anonimowych identyfikatorów uid/gid. Należy zwrócić uwagę, że nie dotyczy to żadnych innych identyfikatorów, które mogłyby być podobnie wrażliwe np. użytkownik bin.
no_root_squash
Wyłącz 'root squashing'. Ta opcja jest użyteczna przede wszystkim w odniesieniu do bezdyskowych klientów.
squash_uids i squash_gids
Te opcje określają listę identyfikatorów uid i gid, które powinny podlegać zamianie na identyfikatory anonimowe. Poprawna lista identyfikatorów może wyglądać następująco:
squash_uids=0-15,20,25-50
Zwykle wygląda to trochę prościej:
squash_uids=0-100
all_squash
Zamień wszystkie identyfikatory uid i gid na identyfikatory anomimowego użytkownika. Pożyteczne w przypadku publicznie dostępnych katalogów FTP, news itp. Opcją o przeciwnym znaczeniu jest no_all_squash, która obowiązuje domyślnie.
map_daemon
Ta opcja włącza dynamiczną zamianę identyfikatorów uid/gid. Każdy identyfikator w żądaniu NFS będzie zamieniony na odpowiedni identyfikator obowiązujący na serwerze i każdy identyfikator w odpowiedzi NFS będzie zamieniany w przeciwną stronę. Ta opcja wymaga uruchomienia na komputerze kliencie demona rpc.ugidd(8). Ustawieniem domyślnym jest map_identity, pozostawiające wszystkie identyfikatory bez zmian. Zwykłe opcje zamiany (squash options) mają zastosowanie niezależnie od zastosowania zamiany dynamicznej.
anonuid i anongid
Te opcje pozwalają na jawne nadanie identyfikatorom uid i gid użytkownika anonimowego dowolnych wartości. Są szczególnie użyteczne dla klientów PC/NFS, kiedy często chcemy aby wszystkie żądania pochodzące z klientów PC/NFS były traktowane tak, jak gdyby pochodziły od jednego użytkownika. Rozważmy podany poniżej przykład dla katalogu /home/joe, który zamienia wszyskie żądania tak, jak gdyby pochodziły od użytkownika o identyfikatorze 150 (prawdopodobnie identyfikator użytkownika joe).


PRZYKŁAD

# przykładowy plik /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)

Pierwszy wiersz eksportuje cały system plików dla komputerów master i trusty. Prócz prawa do zapisu w przypadku komputera trusty wyłączona jest również jakakolwiek zamiana identyfikatorów. Dryuga i trzecia pozycja dają przykład wykorzystania wzorców i grup (pozycja/grupa @trusted). Czwarty wiersz przedstawia przykład klienta PC/NFS omówionego powyżej. Ostatni wiersz eksportuje publicznie dostępny katalog FTP dla każdego komputera na świecie z zamianą identyfikatorów wszystkich żądań tak, jakby pochodziły od anonimowego użytkownika. Opcja insecure w tym wierszu pozwala na dostęp klientom z implementacją systemu NFS, która nie korzysta z zarezerwowanych portów (poniżej 1024).

SZTUCZKI

W przeciwieństwie do innych implementacji serwer nfsd pozwala na eksportowanie do jednego klienta zarówno katalogu, jak i podkatalogów, np /usr i /usr/X11R6. W tym przypadku mają zastosowanie opcje występujące przy pozycji pliku /etc/exports najbardziej zbliżonej do montowanego katalogu. Np. jeśli użytkownik na komputerze kliencie sięga do pliku w katalogu /usr/X11R6, mają zastosowanie opcje podane dla pozycji /usr/X11R6. Ma to zastosowanie również wtedy, gdy ta pozycja zawiera wzorce lub grupy komputerów.

PLIKI

/etc/exports
Plik konfiguracyjny demona nfsd(8).
/etc/passwd
Plik konfiguracyjny z informają o użytkownikach.

DIAGNOSTYKA

Przy każdorazowym uruchomieniu nfsd(8) lub mountd(8) błędy przy czytaniu pliku są raportowane za pomocą syslogd(8) na poziomie NOTICE od DAEMON'a. Raportowany jest każdy nieznany komputer, lecz w czasie startu systemu często nie wszystkie komputery są już znane demonowi named(8), więc jeśli zostaną znalezione później, to informacja o tym fakcie jest również raportowana przez syslogd(8), z tymi samymi parametrami co poprzednio.

INFORMACJE O TŁUMACZENIU

Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i może nie być aktualne. W razie zauważenia różnic między powyższym opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o zapoznanie się z oryginalną (angielską) wersją strony podręcznika za pomocą polecenia:
man --locale=C 5 exports

Prosimy o pomoc w aktualizacji stron man - więcej informacji można znaleźć pod adresem http://sourceforge.net/projects/manpages-pl/.