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