
Ich versuche, von meinem OSX 10.6-Laptop aus eine Verbindung zu einem von meiner Debian Squeeze-Box freigegebenen NFS-Laufwerk herzustellen, und so sehr ich es auch versuche, ich kann es nicht dazu bringen, vom Mac aus auf die Festplatte zu schreiben. Ich habe Folgendes in /etc/exports:
/mnt/usbdrive 192.168.1.0/24(rw,insecure,sync,no_subtree_check,all_squash,anonuid=1000,anongid=1000)
alle Anfragen kommen von UID/GID 1000/1000, meinem Benutzer, dem das ganze Laufwerk gehört. Wenn ich das Laufwerk jedoch auf dem Mac mounte, gehört alles ebenfalls 1000/1000, sodass ich nie auf die Festplatte schreiben kann:
~> ls -la /Volumes/USBDrive/
drwxr-xr-x 6 1000 1000 4096 5 Sep 19:31 .
drwxrwxrwt@ 4 root admin 170 6 Sep 22:41 ..
drwx------ 2 1000 1000 16384 28 Aug 21:24 lost+found
drwxr-xr-x 2 1000 1000 4096 29 Aug 15:35 music
Ich habe gesehen, dass einige andere Leute dieses Problem haben, aber die einzige Lösung, die ich gesehen habe, ist, die gesamte Festplatte 777 mit chmod zu modifizieren, was ich lieber vermeiden würde. Leider kann ich auf meinem System keinen NFS-Benutzerserver verwenden, daher kann ich keine UID/GID-Zuordnung verwenden.
Antwort1
Anstatt alle Dateien der UID 1000 zuzuweisen, weisen Sie alle Dateien auf dem Mac Ihrer UID zu (führen Sie es id -u
in einem Terminal aus, um Ihre UID anzuzeigen). Wenn Sie schon dabei sind, machen Sie dasselbe für die GID ( id -g
).
Antwort2
das hat bei mir unter MacOS 11.1 BigSur (NFS-Client) funktioniert, als ich Ubuntu 20.04 in einer VirtualBox-VM ausgeführt habe und das Host-Only-Netzwerk für die direkte Verbindung zur VM verwendet habe. Vermutlich würde das auch zwischen zwei physischen Maschinen funktionieren.
*** Beachten Sie, dass für die VM keine Firewall aktiviert ist, da es sich um eine Host-Only-VM handelt, die auf meinem Mac ausgeführt wird. Natürlich müssen dafür normalerweise die Ports der Firewall auf dem Server geöffnet sein.
Macbook (Client) ist 192.168.56.1 Ubuntu VM (Server) ist 192.168.56.11
Auf dem Server bearbeiten /etc/exports
:
/home/don 192.168.56.1(rw,sync,no_subtree_check,anonuid=1000,anongid=1000,all_squash)
exportfs -a
*** Denken Sie daran , die Datei nach dem Bearbeiten auszuführen /etc/exports
, bevor Sie mount
sie auf dem Mac-Client ausführen.
** ID 1000 und GID 1000 ist der „Don“-Benutzer auf der Ubuntu-VM
Auf dem Mac:
sudo mount -o resvport,rw -t nfs 192.168.56.11:/home/don /Users/don/ubuntudevnfs
Und
sudo umount -t nfs /Users/don/ubuntudevnfs
resvport
insecure
Auf der Mac-Seite (Client) ist kein Export auf der Serverseite mehr erforderlich .
UID/GID 1000 ist der „don“-Benutzer auf dem Server, wie vom Mac-Client aus gesehen: Beispieltextdatei, erstellt auf einem Mac-Client-Terminal
So sieht es auf dem Server aus: Ansicht von /home/don über SSH in die Ubuntu-VM
Antwort3
Eine Lösung: Erstellen Sie auf beiden Plattformen eine Gruppe mit derselben Gruppen-ID, machen Sie den Benutzer auf beiden Plattformen zu einem Mitglied dieser Gruppe und ändern Sie dann den Parameter „anongid“ in diese Gruppen-ID.