Das ist aber keine SMB Sache oder? Rein Linux Rechte?
Fast. Über Samba kann man halt nur dann auf eine Freigabe zugreifen, wenn man für alle Ordner darüber das "Execute"-Recht hat. Das heißt, für die Ordner darüber muss mindestens d--x--x--x
gelten, falls man nicht zu den "Privilegierten" gehört, d.h. weder Eigentümer noch Mitglied der Gruppe ist. Meist gilt da drwxr-xr-x
, d.h. Mode 0755
. Damit klappt dann alles.
Am Ende hätte ich es gerne so, dass nur root und benutzer1 alle dateien in den Freigaben lesen und schreiben können und benutzer2 explizit nur in dem für ihn freigegebenen Verzeichnis
Mit den Bezeichnungen in Deiner smb.conf würde das bedeuten:
Eigentümer von /mnt/A und /mnt/B müsste benutzer1
sein, und der Modus müsste bei mnt/A 0711
(drwx--x--x) sein. Damit dürfte zwar jeder das Verzeichnis durchsuchen (browsen), aber nur benutzer1
dürfte darin mehr machen. Für /mnt/B würde Modus 0700
(drwx-––-) genügen, da Benutzer2 darin nichts zu suchen hat.
Eigentümer von /mnt/A/C könnte dann z.B. benutzer2:benutzer2
sein. Damit aber auch user1
(Administrator?) dort volle Rechte hat, kannst Du diesen zur Gruppe benutzer2
hinzufügen und den Modus zu 0750
(drwxrwx-–) festlegen. Dann dürfen benutzer2
und benutzer1
in dem Verzeichnis alles, alle Anderen aber gar nichts. Es geht auch umgekehrt: Eigentümer benutzer1:benutzer1
und benutzer2 Mitglied der Gruppe benutzer1
.
Den Rest sollen andere User nicht mal sehen dürfen.
Von den UNIX-Rechten her darf jeder das Verzeichnis /mnt/A durchsuchen, d.h er sieht auch, was da drin ist. Weiter kommt er allerdings nicht. Doch mit der Option valid users
kannst Du dies für Samba noch weiter einschränken:
[Daten]
path = /mnt/A
valid users = benutzer1
...
[Musik]
path = /mnt/A/C
valid users = benutzer1,benutzer2
...
Damit kann benutzer2 über Samba nicht sehen, was alles sonst noch in /mnt/A drin ist. Samba findet aber trotzdem wegen drwx--x--x
die Freigabe [Musik]
im Verzeichnis /mnt/A.
(Der Freigaben-Name "Musik für Benutzer2" geht nebenbei nicht. Er ist zu lang (maximal 15 Zeichen) und enthällt außerdem Leerzeichen)
Wenn Du nur wenige Benutzer hast, dann geht dies mit den UNIX-Dateirechten und valid users
gut. Sonst kannst Du mittels ACL die Rechte noch individuell ausdifferenzieren.
Noch ein Tipp: Verwende doch zum Posten von Dateien oder Terminal-Ausgaben Codeblöcke. Das ist nicht nur für Dich einfacher; man hat beim Lesen die Informationen auch schneller zur Hand.
Gruß – Max-Ulrich