Individuelle Dateirechte vergeben - Wie geht das?

Ich bin am einrichten meines NAS und bisher hat auch alles geklappt.
Es läuft TrueNAS-SCALE und ich habe mir ein SMB-Share eingerichtet. Ich
greife mit Linux und MacOS auf das Share zu. Kein Windows.

Ich habe meine Daten mit rsync auf den SMB-Share geschoben und musste feststellen das alle Dateien und Ordner die Rechte 700 (rwx------) bekommen haben.
Wen ich ein chmod auf die Dateien anwende bekomme ich keine Fehlermeldung, aber die Rechte ändern sich auch nicht.

Ich möchte Dateirechte gern individuell setzen können.
Wo kann ich das einstellen?

du musst verschiedene Benutzer anlegen und dann auf den Datasets jedem Nutzer die passenden acls zuordnen.
Das macht man normalerweise alles über die gui und nicht per chmod

Ich dachte das habe ich erledigt.

Die Daten kommen von einen Samba-Share das auf Ubuntu Server läuft. Hier kann ich unterschiedliche Dateirechte vergeben. Natürlich möchte ich diese Rechte beim kopieren (bzw. synchronisieren) erhalten.

Ich muss gestehen das ich die ACLs nicht verstanden habe.
Wenn ich es richtig verstehe kann ich die Rechte für den Share nur GLOBAL setzen und gelten dann für Ordner und jede Datei ohne Ausnahme?

Wo die Daten herkommen ist letztlich Banane. Sie bekommen die Rechte/Benutzer zugewiesen, die du auf Dateiebene im Share-Verzeichnis zugewiesen hast. Das machst du am einfachsten und präzisesten auf der Shell als Root.
Normalerweise musst du ja bei SMB einen Anmeldenamen verwenden.
Richte den entsprechend ein und verwende ihn für die Rechtevergabe im Share. Dann hast du auch keine Probleme. Wenn du die Benutzer von deinem Linux/MAC verwenden willst MÜSSEN nicht nur die Benutzernamen sondern auch die numerischen Benutzer-IDs passen. Das umgehst du mit separaten Benutzerkonten auf dem NAS. Beim Einbinden des Shares musst du bei SMB ja ohnehin die Credentials übergeben.
Das Setzen der Rechte funktioniert mit der Shell problemlos, solange du dich im Bereich der Unix-Konventionen bewegst. Also benutzer:gruppe bzw. Rechte für Owner,group,other.
Wie das bei den ACL geht, weiß ich nicht. Das habe ich bisher auch über das WEB-GUI gemacht. Was aber nicht heißt, das es nicht auf der Shell nicht geht. Letztlich erfolgt aus der GUI heraus nichts anderes.

Zu deinem Verständnis der ACL. Das ist im eigentlichen Sinne eine Übertragung aus der Windows-Welt nach Unix. Unter Windows sind die ACL ja im Explorer bequem einstellbar. Unix kannte das früher nicht, weil aber die knappen Einträge, die Unix per se anbietet oft nicht reichen, hat man halt die ACL adaptiert.

Nebenbei @LarsR, du kannst ganz beruhigt die Dateisystemrechte über die Shell setzen. Die GUI liest sie ohnehin direkt dort aus. Davon wird kein einziges Bit in der Konfigurationsdatenbank (sqLite) hinterlegt.

Ich glaube um in einer Windows Umgebung nicht den Verstand zu verlieren, bindet eins TrueNAS am Besten in das existierende AD ein. Damit sollten die Windows Nutzer auch in TrueNAS verfuegbar sein, zur Rechtevergabe.

In einer Windows-Umgebung ist das sicher der beste Weg. Keine Frage. Aber @hardlink nutzt nur Linux / MacOS.

1 Like

Dann ist die equivalente Loesung LDAP, dann natuerlich auch fuer Login auf macOS und Linux.

Obwohl mir ein LDAP-Server in einem Eine-Person-Netzwerk als Overkill erscheint - reizt es den Nerd in mir es zu probieren. Schau ich mir an.

Vielen Dank für alle Kommentare. Ich setz mal auf erledigt.

1 Like

Jetzt muss ich auch mal meinen Senf dazugeben. Ich habe TrueNAS SCALE laufen. Und ich setze macOS, Linux und zum Testen ab und zu auch Windoof ein. Ich habe bei mir kein LDAP oder AD Server laufen, ich habe keine Probleme mit einem Benutzer auf das NAS zuzugreifen. Alles ganz nach Standard eingerichtet.

Hallo @micneu , Nein, Zugriffsprobleme hab ich keine. Primär ging es mir um die Verteilung der Dateirechte und hätte da gern die Freiheit z.B. Verzeichnissen und Dateien unterschiedliche Berechtigungen zu vergeben. Hatte gehofft es muss nur irgendwo ein Häkchen gesetzt werden um das zu erreichen.
Diese Erwartung kommt wohl daher das ich auf meinen (alten) Ubuntuserver ein Samba habe wo ich von Haus aus die Rechte individuell setzen kann.
Ich habe mir hier die smb.conf auch schon genauer angeschaut, aber nicht gefunden was spezifisch mit der Rechtevergabe zu tun hat.

Ok, ich habe die Vermutung das du auf deinem ubuntu samba mit ACLs gearbeitet hast.
Ich arbeite bei mir auch mit ACLs, ich arbeite mit Gruppen und entsprechend setze ich die ACLs.

Einegruppe die alles Darf und eine die nur Leserechte bekommt.
Keine ahnung mit welchem benutzer du versucht hast die Dateirechte zu ändern, ich gehe davon aus der benutzer hat nicht ausreichend rechte dafür.
Wenn du die Rechte gleich beim anlegen entsprechend für die Freigabe vorbereitets sollte das auch immer so gesetzt werden