Ich versuche, eine Verbindung zu einem NFS-Ordner auf meinem Entwickler-Server herzustellen. Der Besitzer des Ordners auf dem Dev-Server ist Darren und Group Darren.
Wenn ich es mit dem Festplatten-Dienstprogramm exportiere und auf meinen Mac mounte, wird es gemountet, aber wenn ich versuche, den Ordner zu öffnen, wird angezeigt, dass ich keine Berechtigungen habe. Ich habe rw, sync und no_subtree_check gesetzt. Der Benutzer auf dem Mac ist ein Haufen Gruppen.
Muss dieselbe Gruppe und derselbe Benutzer festgelegt sein, um auf den Ordner zugreifen zu können?
Antworten:
NFS basiert auf der RPC-Authentifizierung. Bei NFS Version 3 ist AUTH_UNIX der häufigste Authentifizierungsmechanismus. Die Benutzer-ID und die Gruppen-ID des Client-Systems werden bei jedem RPC-Aufruf gesendet, und die Berechtigungen, die diese IDs für die Datei haben, auf die zugegriffen wird, werden auf dem Server überprüft. Damit dies funktioniert, müssen UID und GID auf dem Server und den Clients identisch sein. Sie können jedoch alle Zugriffe als einzelne Benutzer und Gruppen erzwingen, indem Sie die Exportoptionen all_squash, anonuid und anongid kombinieren. all_squash ordnet alle UIDs und GIDs dem anonymen Benutzer zu, und anonuid und anongid legen die UID und GID des anonymen Benutzers fest. Wenn Ihre UID und GID auf Ihrem Entwicklungsserver beispielsweise beide 1001 sind, können Sie Ihr Ausgangsverzeichnis mit einer Zeile wie der folgenden exportieren
/home/darren 192.168.1.1/24(rw,all_squash,anonuid=1001,anongid=1001)
Ich bin mit NFS Version 4 weniger vertraut, aber ich denke, Sie können rpc.idmapd auf den Clients einrichten, um die UID und GID zu ändern, die sie an den Server senden.
quelle
Wenn Sie NFS mounten, müssen Ihre Berechtigungen, mit denen Sie es mounten, mit denen auf dem Server übereinstimmen. Wenn Ihr Benutzer beispielsweise nur über Lesezugriff verfügt, werden beim Mounten mit Lese- / Schreibzugriff dieselben Fehler angezeigt, die Sie in Ihrem Beitrag erwähnt haben, wenn Sie versuchen, den Mount tatsächlich zu laden. Leider wird dies NUR beim Zugriff auf den Ordner angezeigt, nicht wenn Sie ihn tatsächlich einhängen.
Sie möchten auch sicherstellen, dass der Benutzer NFS wie auf dem Server ausgeführt wird und der Benutzer auf dem Client dieselbe UID und GID verwendet. Sie können diese Werte überprüfen, indem Sie sie
id darren
sowohl auf dem Server als auch auf dem Client ausführen. Wenn die Werte für UID und GID nicht übereinstimmen, können Sie sie bearbeiten./etc/passwd
Vergewissern Sie sich jedoch, dass Sie verstanden haben, was Sie tun, bevor Sie Werte willkürlich ändern.Einige gute Quellen:
Ich hoffe das hilft!
quelle
Stimmen Ihre UIDs und GIDs auf beiden Servern überein? Das ist, was es verwendet, um den Zugriff zu kontrollieren und nicht den Login- und Gruppennamen.
quelle
Für mich wurde das Problem behoben, indem eine
_netdev
Montageoption auf dem Client bereitgestellt wurde .Dh dies hinzufügen zu
/etc/fstab
:quelle