iMac-Benutzer können mit sudo nicht auf NFS-gemountete Home-Verzeichnisse zugreifen

iMac-Benutzer können mit sudo nicht auf NFS-gemountete Home-Verzeichnisse zugreifen

Ich habe gerade meinen iMac in meinem Heimnetzwerk neu installiert und die Benutzer-Home-Verzeichnisse über eine NFS-Freigabe (gehostet auf einem Ubuntu-Server) gemountet.

Mein Problem besteht darin, dass mir bei Verwendung von sudo die Berechtigung für mein eigenes Home-Verzeichnis verweigert wird.

Meine UID ist 501 und ich darf sudo verwenden, da ich Mitglied der Admin-Gruppe (GID 80) bin.

Auf dem Ubuntu-Server habe ich mein Home-Verzeichnis wie folgt konfiguriert:

Ubuntu# ls -ln | grep bryan
drwxrwx--- 35 501 80 4096 2012-01-27 14:09 bryan

Was auf dem Mac korrekt übersetzt wird:

iMac$ ls -l | grep bryan
drwxrwx---  35 bryan    admin   4.0K 27 Jan 14:09 bryan/

Da root auch Mitglied von admin (GID 80) ist, hätte ich erwartet, dass sudo den Zugriff auf mein Home-Verzeichnis erlaubt, aber wie Sie unten sehen können, ist dies nicht der Fall.

iMac$ whoami
bryan
iMac$ sudo bash
bash: /Volumes/home/bryan/.bashrc: Permission denied
iMac# whoami
root
iMac# cd /Volumes/home/bryan/
bash: cd: /Volumes/home/bryan/: Permission denied

Nur zur Bestätigung, das Folgende ist der relevante Teil der Ausgabe dscacheutil -q groupauf meinem iMac:

name: admin
password: *
gid: 80
users: root bryan 

Was kann ich tun, um bei Verwendung von sudo den Zugriff auf mein Home-Verzeichnis auf dem iMac zu ermöglichen?

Antwort1

Wenn Sie verwenden sudo, wechseln Sie zum rootBenutzer (uid 0) – SieverlierenIhre brianUID und die adminGruppe. ( sudo idzeigt Ihnen die genauen Werte.)

Da frühere NFS-Versionen (v3 und älter) alle Sicherheitsüberprüfungen nur auf der Client-Seite durchführten, gibt es einen integrierten Schutz gegen unehrliche Clients – wenn der Client angibt, dass Ihre UID 0 ist,nichtRoot-Rechte erhalten –Stattdessen sieht der NFS-Server Sie als Benutzer nobody.

Um diese Schutzmaßnahme zu deaktivieren, bearbeiten Sie die Server /etc/exportsso, dass diese Option verfügbar ist . Führen Sie die no_root_squashFreigabe anschließend erneut aus exportfs -raund mounten Sie sie erneut auf allen Clients.


Beim Testen von NFS-Berechtigungen ist es hilfreich, ein allgemein beschreibbares Verzeichnis auf Ihrer Freigabe zu haben. Unter Ubuntu beispielsweise . sudo mkdir /home/temp; sudo chmod a+rwx /home/tempUnter OS X können Sie dann ausführen sudo touch /Volumes/home/temp/testfileund sofort sehen, welchen Besitzer die neu erstellte Datei hat.

verwandte Informationen