File: exports.5

package info (click to toggle)
manpages-de 0.7-1
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 3,188 kB
  • ctags: 9
  • sloc: makefile: 83; perl: 61
file content (253 lines) | stat: -rw-r--r-- 8,666 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
.\" exports - NFS Konfigurationsdatei
.\" Copyright (c) 1995  Martin Schulze <Martin.Schulze@Linux.DE>
.\"
.\" This file is part of the manpages package for Linux.
.\"
.\" This file is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 2 of the License, or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program; if not, write to the Free Software
.\" Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
.\"
.\" Sun Feb 11 14:07:00 MET 1996  Martin Schulze  <joey@linux.de>
.\"	* slightly modified
.\" Modified Mon Jun 10 00:00:40 1996 by Martin Schulze (joey@linux.de)
.\"
.TH EXPORTS 5 "11. Februar 1996" "Linux" "Dateiformate"
.SH BEZEICHNUNG
exports \- NFS Konfigurationsdatei
.SH SYNTAX
.B /etc/exports
.SH BESCHREIBUNG
Die Datei
.I /etc/exports
enthält eine Liste der Dateisysteme, die möglicherweise an NFS
Clients exportiert werden.  Sie wird sowohl vom NFS Mount Dämon,
.BR mountd (8),
als auch vom NFS file server dämon,
.BR nfsd (8),
benutzt.

Das Format der Datei ist das gleiche wie bei der SunOS
.IR exports -Datei,
mit der Ausnahme, dass verschiedene Erweiterungen möglich sind.  Jede
Zeile enthält einen Mount-Point und eine Liste von Rechnern oder
Netzgruppen, die dieses Dateisystem von diesem Punkt mounten
dürfen.  Optional kann nach jedem Rechner- oder Netzgruppennamen in
Klammern noch eine Liste von Parametern angegeben werden.  Leere Zeilen
werden ignoriert und ein Hashmark (#) deklariert den Rest der Zeile
als Kommentar.

.SS Allgemeine Optionen
.TP
.I secure
Diese Option macht es erforderlich, dass NFS-Requests von einem
Internet Port kleiner als IPPORT_RESERVED (1024) stammen.  Dieses ist
die Voreinstellung, um sie auszuschalten, wird
.I insecure
geschrieben.
.TP
.I ro
Erlaubt nur lesenden (read-only) Zugriff auf das
NFS-Dateisystem.  Voreingestellt ist beides, auch schreibender Zugriff.  Um
diesen explizit einzustellen, kann
.I rw 
geschrieben werden.
.TP
.I link_relative
Wandelt absolute symbolische Links (wenn der Pointer mit einem
Schrägstrich beginnt) in relative Links um, indem eine entsprechende
Anzahl von ../'en vorangestellt wird, um vom Verzeichnis mit dem
Link zum Hauptverzeichnis zu gelangen.  Dieses ist ein heikles,
vielleicht sogar fragwürdiges Verhalten, insbesondere, wenn der
Verzeichnisbaum nicht als Rootverzeichnis gemountet ist.
.TP
.I link_absolute
Lässt alle symbolischen Links wie sie sind.  Dieses ist das normale
Verhalten.
.SS User ID Umwandlung
.PP
Der
.B nfsd
greift auf Dateien auf der Server-Maschine mit der User und Group ID
zu, die bei jedem NFS-Request vom Client angegeben werden.  Das normale
Verhalten, das ein Benutzer erwarten würde, ist, da"s er auf die
Dateien auf dem Server genauso zugreifen kann wie im normalen
Dateisystem.  Dafür werden sowohl auf dem Server- als auch auf dem
Client-Rechner die gleichen User und Group IDs benötigt.  Das ist
jedoch nicht immer der Fall und oft auch nicht erwünscht.

Oftmals ist es nicht wünschenswert, dass der User root auf einem
Client auf dem Server-Rechner ebenfalls root-Rechte hat, wenn er auf
Dateien zugreift.  Daher wird die UID 0 normalerweise in eine andere
umgewandelt: in eine anonyme bzw. in die
.I nobody
UID.  Dieses (`root squashing' genannt) ist das vorgegebene Verhalten,
es kann mit
.IR no_root_squash .
ausgeschaltet werden.

Der
.B nfsd
versucht beim Start die anonymen User und Group IDs herauszufinden,
indem er in der Passwortdatei nach dem User
.I nobody
sucht.  Findet er diesen nicht, dann nimmt er als UID und GID -2
bzw. 65534.  Diese Werte können mit den Optionen 
.IR anonuid " und " anongid
überschrieben werden.

Zusätzlich erlaubt der
.B nfsd
dem Systembetreiber willkürlich weitere User und Group IDs auf die
anonymen abzubilden.  Zum Schluss können auch alle Zugriffe unter der
anonymen UID durchgeführt werden, wenn die Option
.I all_squash
angegeben wird.

Um Installationen zu unterstützen, bei denen die UIDs auf dem Server
und die auf den Clients unterschiedlich sind, bietet der
.B nfsd
eine Möglichkeit, diese dynamisch umzuwandeln.  Eingeschaltet wird es
mit der
.I map_daemon
Option.  Für die Abbildung von Server-UIDs auf Client-UIDs und
umgekehrt muss der 
.BR ugidd (8)
Mapping Dämon auf dem Client laufen, der sich auf das UGID RPC
Protokoll abstützt.

Hier ist eine komplette Liste aller Mapping-Optionen:

.TP
.IR root_squash
Wandelt Zugriffe von UID/GID 0 auf die anonyme UID/GID um.  Man
beachte, dass dieses keine weiteren UIDs betrifft die ähnlich
empfindlich sind wie z.B. die User
.IR bin " oder " uucp .
.TP
.I no_root_squash
Schaltet root squashing aus.  Diese Option ist hauptsächlich für
Diskless Clients sinnvoll.
.TP
.IR squash_uids " und " squash_gids
Hier kann eine Liste von UIDs bzw. GIDs angegeben werden, die auf die
anonyme abgebildet werden sollen.  Eine gültige Zeile kann so aussehen:
.IP
squash_uids=0-15,20,25-50
.IP
Normalerweise wird diese Liste viel einfacher aussehen, z.B.:
.IP
squash_uids=0-100
.IP
.TP
.I all_squash
Wandelt alle UIDs und GIDs in die anonyme um.  Das ist für
exportierte, öffentliche FTP-Verzeichnisse, News-Spool-Verzeichnisse
sinnvoll.  Die gegenteilige Option ist
.IR no_all_squash ,
die auch voreingestellt ist.
.TP
.I map_daemon
Diese Option schaltet die dynamische UID/GID-Umwandlung mit dem UGID
RPC Protokoll ein.  Jede UID in einem NFS-Request wird übersetzt in
die äquivalente UID auf der Server-Maschine und umgekehrt.  Diese
erfordert allerdings den 
.BR rpc.ugidd (8),
der auf dem Client laufen muss.  Die Voreinstellung ist jedoch
.IR map_identity ,
die alle UIDs so belässt.  Die normalen Squash-Optionen werden
unabhängig von dynamischer Umwandlung angewendet.
.TP
.IR anonuid " und " anongid
Diese Optionen setzen explizit die UID bzw. GID für den anonymen
User.  Sie sind vor allem für PC-NFS-Clients sinnvoll, bei denen alle
Requests vom gleichen Benutzer kommen sollen.  Man stelle sich den
Eintrag für das Verzeichnis
.I /home/joey
im unteren Beispiel vor, der alle Requests auf die UID 501 (nämlich
die vom User joey) umwandelt.
.IP
.nf
.fi
.SH BEISPIEL
.PP
.nf
.ta +3i
# Beispielhafte /etc/exports Datei
/               master(rw) trusty(rw,no_root_squash)
/projects       proj*.local.domain(rw)
/usr            *.local.domain(ro) @trusted(rw)
/home/joey      pc007(rw,all_squash,anonuid=501,anongid=100)
/pub            (ro,insecure,all_squash)
.fi

Die erste Zeile besagt, dass das komplette /-Dateisystem an die beiden
Maschinen master und trusty exportiert werden.  Zusätzlich zum
erlaubten Schreibzugriff ist die Umwandlung der Superuser-ID 0 für
den Rechner trusty ausgeschaltet.

Die nächsten beiden Zeilen geben ein Beispiel für
Wildcard-Rechnernamen und Netzwerkgruppen (der Eintrag @trusted ist
ein solcher).  Die vierte Zeile beschreibt einen Eintrag für einen
PC-NFS-Client wie oben angesprochen.

Die letzte Zeile exportiert das FTP
.IR /pub -Verzeichnis
an jeden Rechner in der Welt (der am Internet teilnimmt).  Alle
Zugriffe werden unter der anonymen UID durchgeführt.  Die
.IR insecure -Option
erlaubt auch Clients den Zugriff, die keine reservierten Ports
verwenden.

.SH WARNUNG
Im Unterschied zu anderen Implementierungen erlaubt dieser
.B nfsd
den Export von Verzeichnissen und Unterverszeichnissen, auch an den
gleichen Rechner, z.B.
.IR /usr " und " /usr/X11R6 .
In diesem Fall gelten die Optionen für den am genauesten
übereinstimmenden Eintrag.  Wenn beispielsweise ein Benutzer auf einem
Client auf eine Datei in
.IR /usr/X11R6 
zugreift, dann gelten die Optionen im
.I /usr/X11R6 
Eintrag.  Dieses gild ebenfalls, wenn es sich um Wildcard oder
Netzgruppen handelt.
.SH DATEIEN
.TP
.I /etc/exports
Konfigurationsdatei für den
.BR nfsd (8).
.TP
.I /etc/passwd
Die Passwortdatei.
.PP
.SH BESONDERHEITEN
Fehler bei der Interpretation der
.IR exports -Datei
werden über die 
.BR syslog (3)
Funktion mit der Facility DAEMON und dem Level NOTICE berichtet, wenn der
.BR nfsd "(8) oder " mountd (8)
gestartet werden.

Jeder unbekannte Rechner wird zur gleichen Zeit berichtet, oftmals
sind dem
.BR named (8)
zur Startzeit allerdings noch nicht alle Rechner bekannt.  Sie werden
ebenfalls bemängelt.
.SH "SIEHE AUCH"
.BR mountd (8),
.BR nfsd (8),
.BR nfs (5),
.BR passwd (5).