Auf meinem NFS-Server habe ich den folgenden Export definiert:
#NFS exports Database
/shared -alldirs -network=192.168.1 -mask=255.255.255.0
Auf meinem NFS-Client:
192.168.1.7:/shared /shared nfs rw 0 0
Als root auf dem Server kann ich natürlich tun, was ich will. Auf dem Client kann mein regulärer Benutzer 'gabe' Änderungen am nfs-Mount vornehmen (vorausgesetzt, ich habe Berechtigungen dafür), root jedoch nicht.
Als mein regulärer Benutzer:
gabe@client$ cd /shared
gabe@client$ ls -l
total 8
drwxrwxrwx 4 gabe wheel 512 Mar 20 19:20 tmp
gabe@client$ cd tmp
gabe@client$ touch test.txt
gabe@client$ rm test.txt
Als root:
# cd /shared/tmp
# touch test.txt
touch: test.txt: Permission denied
Auch dies ist alles auf der NFS- Client- Seite der Dinge, und ich vermute, dass es etwas mit der Option -maproot zu tun hat. Dies ist das erste Mal, dass ich NFS einrichte, und diese Besonderheit ist mir gerade aufgefallen. Ich werde jetzt etwas lesen, um zu sehen, ob ich das herausfinden kann, aber wenn jemand einen Einblick hat, würde ich es begrüßen.
quelle
-maproot
Option konfiguriert wurde, ohne Zugriff auf den NFS-Server zu haben.Dies ist bei herkömmlichen NFS-Implementierungen üblich. NFS-Benutzerzuordnungen werden unabhängig vom Kontext durchgeführt, daher müssen alle Zugriffe des Clientstamms einem bestimmten Benutzer zugeordnet werden (normalerweise
nobody
standardmäßig). Daher dieses seltsame Verhalten, bei dem der Client-Root nicht direkt auf Ihre Dateien zugreifen kann, sondernsu gabe
auf sie zugreifen kann.("Aktuelle" Versionen von NFS, dh NFSv4 und vielleicht NFSv3, erlauben ein vernünftigeres Verhalten, wenn dies auf beiden Seiten unterstützt wird, aber ich kenne die Details nicht.)
quelle