Hallo,
wie kann ich mit SAMBA ein Verzeichnis/Share einrichten, in dem unterschiedliche User Dateien reinschreiben können, diese aber nicht lesen dürfen? So ähnlich wie: “WRITEABLE=yes, READABLE=NO”.
Ist so etwas möglich?
Vielen Dank im voraus für jeden Tipp und jede Antwort.
Tschüss,
lauviss
Hallo Lauviss,
das ist eine gute Frage. Wenn man ein Verzeichnis die Rechte auf .w..w..w. setzt, dann geht kein Schreiben, da hierzu das Lesen des Verzeichnisses erforderlich ist.
Die einzige Moeglichkeit sehe ich nur darin einen Job (cron, oder batch im Hintergrund) einzurichten, der ab und zu ein chmod durchfuehrt und alle Dateien auf die Berechtigung .w..w..w. setzt. Üeberschreiben ist damit moeglich, Es gibt aber eine Zeitluecke, in der andere zum Lesen ran koennten. Das koennte man noch mit rwx……. -> .w……. abblocken. Dann kann nur der owner noch kurze Zeit die Datei lesen. Das geht nur wenn die Dateien auf einem Linux Server liegen. Bei einem Windows Rechner ginge nur ein Job, der jeweils die Dateien in ein anderes verschlossenen Verzeichnis kopiert, und zurueck als Datei ein Inhaltsverzeichnis inhalt.txt in das Verzeichnis schiebt. Dann ist aber wieder eine Zeitluecke, bei der andere zuschlagen koennten.
So wuerde ich es low cost low effort loesen. Es gibt Serverprogramme die koennen sowas, kosten aber. Bei denen lassen sich die Rechte explizit je Datei angeben und auch automatisch beim Schreiben aendern. Bei Feodora gibt es die Moeglichkeit erweiterte Dateioptionen. Vieleicht geht es damit?
Gruß
Dieter
Wenn du
sicher stellst, dass die Benutzerkennungen auch unter SAMBA erhalten bleiben (und nicht auf einen Einheits-Benutzer gemappt werden), das “öffentliche Verzeichnis” mit dem Sticky-Bit versiehst, so dass alle Dateien unter der Kennung des aktiven Benutzers anglegt werden, du den geeigneten Wert bei dem Parameter “create mask” in der smb.conf (vgl. man smb.conf) angibst, dann sollte es gehen.
Ansonsten ist [1], z.B. Chapter 15., dein Freund.
Hallo,
ist eigentlich ganz einfach:
ich würde die Freigabe so bauen:
[test]
path=/test
writeable = yes
valid users = @nurschreiben @root
force user = root
force group = root
create mask = 0660
force create mode = 0660
security mask = 0770
force security mode = 0770
directory mask = 0770
force directory mode = 0770
directory security mask = 0770
force directory security mode = 0770
Force user und force group setzten bei alle neu erstellten Datei den Besitzer und die Gruppe auf die hier eingetragenen User und Gruppen. Egal in welcher Gruppe der schreibende User ist.
Und mit create mask usw. setzte ich die Berechtigungen die die neue Datei bekommen soll.
Einfach auf eine Gruppe abändern in der die schreibenden User nicht sind!
0660 = rw_rw____
@Ansgar Stalbold:
ich glaube du solltest die nochmal die rechte unter linux genauer anschauen :)
denn 0770 ist nicht r_xr_x___
sondern rwxrwx___
um dein r_xr_x___ zu erhalten muss das so aussehen 0550
da die wertigkeiten so lauten: r = 4, w = 2 und x = 1
Erst einmal vielen Dank für die ganzen Antworten. Ich werde versuchen die eine oder andere Antwort zu implementieren und dann darüber berichten. Das wird ein paar Tage dauern (um den laufenden Prozess nicht zu stören).
Tschüss,
lauviss
@ss
Ahhh wie Peinlich…
Danke, hatte wohl ‘n Brett vor Kopf…