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