Ich habe vor ein paar Jahren dieselbe Frage für Schüler-Dropboxen auf der Samba-Mailingliste gestellt (http://lists.samba.org/archive/samba/2008-September/143610.html), und die Antwort hat bei uns funktioniert. Sie benötigen erweiterte ACL-Attribute in Ihrem Dateisystem (aus dem ACL-Paket). Hier ist die Antwort von Jeremy Allison ...
Ok, das Problem ist, dass die Schüler das enthaltene Verzeichnis lesen können müssen, um neue Dateien dort ziehen und ablegen zu können. Der Grund dafür ist, dass Samba in der Lage sein muss, das Verzeichnis in ihrem Namen zu scannen, um nach Groß- und Kleinschreibung zu suchen.
Solange es Ihnen nichts ausmacht, den Schülern zu erlauben, die Namen der anderen Dateien zu sehen, können Sie eine DropBox einrichten, damit die Schüler in sie (und ihre eigenen Dateien) schreiben, andere Dateien jedoch nicht bearbeiten oder anzeigen können.
Zunächst möchten Sie sicherstellen, dass im DropBox-Verzeichnis erstellte Dateien nicht der primären Gruppe des Schülers gehören, sondern dem Gruppenbesitzer der DropBox-Direcotry. So :
chgrp Lehrer DropBox
um es der Lehrergruppe zu machen. Setzen Sie dann das setgid-Bit im DropBox-Verzeichnis, um sicherzustellen, dass die dort erstellten Dateien eine eigene Gruppe von Lehrern haben.
chmod g + s DropBox
Stellen Sie dann sicher, dass eine Datei in DropBox nur vom Eigentümer der Datei, vom Eigentümer des Verzeichnisses oder vom Stammverzeichnis umbenannt oder gelöscht werden kann (dieselben Berechtigungen wie / tmp).
chmod + t DropBox
Erlauben Sie den Schülern dann, durch Hinzufügen einer ACL in das Verzeichnis zu schreiben
setfacl -mg: Studenten: rwx DropBox
Solange die Standardeinstellung acl so eingestellt ist, dass "andere" keine Berechtigungen haben, gehören Dateien, die von einem Schüler in dieses Verzeichnis geschrieben wurden, sich selbst, haben jedoch eine eigene Gruppe von "Lehrern", und die Schüler können nicht alle lesen andere Dateien.
Wenn Sie dafür sorgen müssen, dass die Dateien dem Eigentümer des Verzeichnisses gehören, nicht den Schülern, die sie erstellt haben, müssen Sie wie oben beschrieben eine separate Freigabe einrichten, aber dann den Parameter auf Freigabeebene hinzufügen:
Eigentümer erben = ja
Dies führt dazu, dass Dateien, die in den Verzeichnissen dieser Freigabe erstellt wurden, dem enthaltenen Verzeichnis gehören und nicht dem erstellenden Eigentümer.