NAZWA¶
exports - 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.
ZOBACZ TAKŻE¶
mountd(8),
nfsd(8),
nfs(5),
passwd(5).
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/.