• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Der Frühling ist auch in den eingesandten Fotos deutlich zu erkennen. Zeigt uns, wer Euer Favorit ist! hier geht es lang für Euer Voting --> Klick

komisches Phänomen mit NFS Freigabe

wiseguy

Ribston Pepping
Registriert
01.01.10
Beiträge
297
Hallo,

ich habe ein Problem mit meinen NFS Ordner.

Vornweg etwas zu den Hintergründen: Ich habe damit noch kaum Erfahrung und habe das gerade erst kennen gelernt; NFS ist mir insofern lieber als Samba, weil ich gehört habe, dass es zum einen schneller ist und zum anderen kann ich das in jeden beliebigen Ordner einbinden. Außerdem möchte ich das nur an meinem Hauptrechner (MacMini Server) verwenden, der dann entsprechende Ordner darin wieder freigeben soll. Alles ist nur für ein Familiennetzwerk gedacht, wobei das Netzwerk eigentlich nur aus einem weiteren Mac Mini und einem MacBook besteht. Die Freigaben, die per NFS freigegeben werden sollen und am MacMini Server genutzt werden sollen, kommen von einer NAS, einem Thecus N3200Pro auf den ich auch ssh Zugriff habe. Auf dieser NAS habe ich die NFS testweise für alle IPs freigegeben. Später, wenn es denn richtig funktioniert, soll sie nur noch für die IP des MacMini Server freigegeben werden.

So mein Problem ist folgendes: Ich kann auf die Freigabe nicht richtig zugreifen: Wenn ich Ordner erstelle, habe ich anschließend zum Teil keine Berechtigung darauf. Das sieht im Finder dann so aus:
Bildschirmfoto 2012-02-21 um 20.15.56.png
Wenn ich mir das gleiche im Terminal am Mac ansehe, sieht es wie folgt aus:
Code:
$ ls -ld Neuer\ Ordner*
ls: Neuer Ordner 2: No such file or directory
drwxr-xr-x  3 root   wheel  26 20 Feb 17:16 Neuer Ordner
drwxr-xr-x  2 myuser  staff   6 20 Feb 18:28 Neuer Ordner 3
Schaue ich hingegen am Terminal auf dem NAS nach, sehe ich:
Code:
N3200PRO:/raid/data/NAS_Public# getfacl Neuer\ Ordner*
# file: Neuer Ordner
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:group::rwx
default:other::rwx




# file: Neuer Ordner 2
# owner: myuser
# group: staff
user::rwx
group::r-x
other::r-x
default:user::rwx
default:group::rwx
default:other::rwx




# file: Neuer Ordner 3
# owner: myuser
# group: staff
user::rwx
group::r-x
other::r-x
default:user::rwx
default:group::rwx
default:other::rwx


Ich sehe keinen Unterschied zwischen "Neuer Ordner 2" und "Neuer Ordner 3" und trotzdem kann ich auf "Neuer Ordner 3" zugreifen, während ich auf "Neuer Ordner 2" nicht zugreifen kann...

Ich verstehe das nicht und würde mich sehr über Hilfe oder Denkanstöße freuen, da ich das NFS gern endlich richtig benutzen möchte.

mfg
wiseguy
 

dusty1000

Weißer Trierer Weinapfel
Registriert
22.09.06
Beiträge
1.508
OK, erst einmal ein paar Rückfragen:
Wie hast du die NFS Freigabe auf dem NAS eingerichtet? ( gibt es eine /etc/exports Datei, die du posten kannst? )
Wie hat du die Freigabe auf dem MacMini gemountet?
Wie und wo hast du die Ordner angelegt?

Das Problem ist, dass NFS sehr genau beim Umgang mit Berechtigungen ist. Das ist nicht schlecht, im Gegenteil, aber es bedarf genauer Überlegungen und einiger grundlegender Kenntnisse in Richtung Unix-Benutzerverwaltung.
 

wiseguy

Ribston Pepping
Registriert
01.01.10
Beiträge
297
Die /etc/exports sieht folgendermaßen aus:
"/raid0/data/NAS_Public" *(rw,fsid=4,no_root_squash,insecure,async,anonuid=99,anongid=99,no_subtree_check)
Allerdings kann ich die Datei nicht händisch bearbeiten, da sie vom Thecus-Webinterface "erzeugt" wird und alle Änderungen darin wieder überschrieben werden. Das Webinterface am Thecus diesbezüglich sieht so aus:
Bildschirmfoto 2012-02-21 um 22.21.08.png
Auf dem Mac hab ich die Freigabe erstmal nur über "Gehe zu"->"Mit Server verbinden..." und dann "nfs://192.168.121.200/raid0/data/NAS_Public" gemountet, wobei die IP zu dem NAS gehört.
Angelegt hab ich die Ordner Unterschiedlich:
Wie man sieht, ist der "Neuer Ordner" direkt auf dem NAS als root angelegt worden.
Die anderen Beiden Ordner habe ich (glaube ich) direkt am Mac in der Freigabe angelegt, wobei es sein kann, dass ich den einen von dem einen und den anderen von dem anderen Mac aus angelegt habe.

Aber die Berechtigungen werden ja auf dem Thecus und in dessen Dateisystem (xfs) gespeichert. Soweit mir das bekannt ist, sind alle relevanten Informationen dazu mit dem getfacl Befehl auslesbar, oder? Und da dort heraus die Rechte für die Ordner "Neuer Ordner 2" und "Neuer Ordner 3" übereinstimmen, verstehe ich nicht ganz, warum ich auf den einen zugreifen kann und auf den anderen nicht.
Bzw. möchte ich natürlich die Möglichkeit haben, die Berechtigungen nachträglich auf Seiten des NAS im Zweifelsfall glatt zu ziehen...

In meinem konkreten Fall brauch ich ja keine echten Berechtigungen. Mir geht es mehr darum, den Speicherplatz der NAS möglichst nahtlos und an der von mir gewünschten Stelle in das System des MacMini Servers einzubinden.
Der einzige Benutzer darauf werde ich sein, bzw. mit anderen Benutzern, die aber volle Berechtigung haben sollen, auch Miene Frau und Kinder. Gerade zu diesem Zweck will ich natürlich hinterher mindestens die Möglichkeit haben, die Berechtigungen nach meinem Belieben wieder freizugeben, in dem ich beispielsweise "chmod -R g+rwx /raid/data/NAS_Public" auf dem Thecus absetze...
 

dusty1000

Weißer Trierer Weinapfel
Registriert
22.09.06
Beiträge
1.508
Nur um diese Eventualität ausschließen zu können:
Stell mal die Kompatiblität von "AIX" auf "Unix / Linux" , es sei denn, du hast Zuhause wirklich ein IBM Power System stehen ;)

Hast du auf dem Mac wirklich den Usernamen "myuser" ?
Dieser wird ja auf dem NAS angezeigt.

Hier mal ein paar Gedanken zur Erklärung:

NFS verwendet die übliche Unix Rechteverwaltung im Netz. Das bedeutet, die Ordner müssen mit den entsprechenden Gruppen- und User-IDs angelegt werden, damit der Zugriff klappt.
Auf einen Ordner, der mit dem User "Root" angelegt wurde, hast du daher mit den herkömmlichen Userrechten vom Mac keinen Zugriff.
Bei den beiden anderen Ordnern ist das Problem schon komplexer.
Scheinbar haben diese auf dem NAS die selbe Gruppen- und Benutzerkennung. Die Frage ist nun, was passiert, wenn du einmal einen Ordner direkt von deinem MacMini Server anlegst und was passiert wenn du es von einem anderen Rechner über die Freigabe des Macservers tust.
Normalerweise kann letzteres nicht funktionieren. Grund: Du mountest das NFS nicht als Root, sondern mit dem administrativen User des Mac-Servers. So weit so gut. Das Problem ist nur, dass es in diesem Fall unmöglich ist, Ordner mit anderen User-IDs anzulegen. Das geht nur mit von Root gemounteten NFS-Shares, ansonsten könntest du ja Ordner mit Rechten eines fremden Users anlegen oder öffnen.
Wenn du nun von einem dritten Rechner versuchst ein Verzeichnis anzulegen, wird es die selben IDs erhalten, die der User, der das NFS auf dem Mac-Server gemountet hat, besitzt.
Ich vermute, spätestens jetzt kommt das MacOS durcheinander.
Vielleicht kannst du mal versuchen, den NFS Share auf dem Server per sudo auf der Kommandozeile zu mounten. Das könnte besser funktionieren.
 

wiseguy

Ribston Pepping
Registriert
01.01.10
Beiträge
297
So jetzt komm ich mal wieder dazu, dass Problem weiter zu bearbeiten:
Erstmal vornweg eine Meldung, die ich in der Konsole erhalte, wenn ich auf diese "gesperrten" Ordner zugreifen möchte: "Stale NFS file handle"

Stell mal die Kompatiblität von "AIX" auf "Unix / Linux"
Diese Option benötige ich, da es sich dabei um die Option "secure", "insecure" handelt. Mit Mac OS X kann man leider nur mit der Option "insecure" arbeiten, "was am Free BSD Unterbau liegt" (Quelle: http://sketchworld.de/Test/wordpress/archives/3771).
Nachdem ich das dann mal rausgefunden hatte, konnte ich erst überhaupt eine Verbindung per NFS zur NAS aufbauen.

Was die Usernamen/IDs angeht, so meine ich, dass mindestens das Linux nicht mit den Usernamen sondern ausschließlich mit den User IDs arbeitet. Das heißt, welcher Username dann letztlich in der passwd eingetragen ist, interessiert bei der Berechtigung an sich nicht. Damit ich dann also besser sehen kann, wer eine Datei erstellt hat, hatte ich die passwd in der NAS entsprechend editiert und meine Benutzer hinzugefügt. Vorher hatte ich in den entsprechenden Ausgaben von ls und getfacl die IDs angezeigt bekommen.
Das selbe gilt natürlich auch für die Gruppen.

Ich glaube eher nicht, dass das NFS selbst das hier anders handhabt - auch hier wird vermutlich alles über die IDs und nicht über die Namen gehen.

Was mich in meinem Verdacht "komisches Phänomen" bestärkt, ist die Tatsache, dass bei verschiedenen Tests diese Probleme sporadisch auftreten und dann so lange anhalten, bis ich den Client neu starte.

Bei einigen Tests waren die beiden anderen Geräte ausgeschaltet und nur ein Mac hat die NFS Freigabe nutzen können.

Irgendwie hab ich das Problem auch nur mit Ordnern. Dateien lassen sich weiterhin erstellen, bearbeiten, öffnen, verschieben, duplizieren, etc.
 

dusty1000

Weißer Trierer Weinapfel
Registriert
22.09.06
Beiträge
1.508
Das NFS nur die UIDs und GIDs betrachtet, ist klar, vielleicht habe ich mich etwas missverständlich ausgedrückt.
Warum der Hersteller des NAS Systems für den NFS-Parameter "insecure" die Bezeichnuns "AIX" verwendet, ist mir einigermaßen unklar.
AIX kann schon längere Zeit auch mit "secure" NFS umgehen, genauso wie alle BSD-Derivate inkl. OSX. Nur wird das bei all diesen Systemen nicht per default verwendet. Aber das nur mal am Rande, das Verwenden des "insecure" Parameters ist hier sicherlich der bessere und einfachere Weg, wenn man Zugriff auf den Server hat.
Im Moment ist mir ehrlich gesagt nicht vollkommen klar, welcher Rechner sich bei dir nun über welchen Weg mit dem NAS verbindet.
Wenn du einen "stale file handle" bekommst, deutet das auf Probleme mit konkurrierenden Dateizugriffen auf das selbe Dateisystem hin.
Das ist aber eher unwahrscheinlich, wenn wirklich nur der OSX-Server das Dateisystem per NFS zu Gesicht bekommt.
Auf der anderen Seite könnte es natürlich ein Problem sein, wenn mehrere Benutzer über den OSX Sharing-Mechanismus des Servers auf den dort gemounteten NFS-Share zugreifen, denn dann arbeiten auf dem NAS und auf dem OSX-Server unterschiedliche Mechanismen, die konkurrierende Dateizugriffe abfangen sollen.
Vielleicht liegt genau hier der Hund begraben.