Я задал этот же вопрос студентам в почтовой рассылке samba несколько лет назад (http://lists.samba.org/archive/samba/2008-September/143610.html), и ответ сработал для нас. Вам нужны расширенные атрибуты acl в вашей файловой системе (из пакета acl), вот ответ Джереми Эллисона ...
Хорошо, проблема в том, что ученики должны иметь возможность читать каталог, в котором они находятся, чтобы иметь возможность перетаскивать туда новые файлы. Причина в том, что Samba должна иметь возможность сканировать каталог от своего имени, чтобы выполнять поиск без учета регистра.
Но если вы не против того, чтобы ученики могли видеть имена файлов друг друга, вы можете настроить DropBox, чтобы ученики могли писать в него (и свои собственные файлы), но не редактировать и не видеть другие файлы.
Во-первых, вы хотите убедиться, что файлы, созданные в каталоге DropBox, принадлежат не основной группе учащегося, а владельцу группы Direcotry DropBox. Так :
учителей chgrp DropBox
сделать его принадлежащим группе учителей. Затем установите бит setgid в каталоге DropBox, чтобы убедиться, что созданные в нем файлы имеют группу учителей.
chmod g + s DropBox
Затем убедитесь, что файл в DropBox может быть переименован или удален только владельцем файла, владельцем каталога или пользователем root (те же разрешения, что и у / tmp).
chmod + t DropBox
Затем разрешите студентам писать в каталог, добавив ACL
setfacl -mg: студенты: rwx DropBox
Пока acl по умолчанию установлен так, что «другие» не имеют разрешений, файлы, записанные студентом в этот каталог, будут принадлежать им самим, но будут иметь собственную группу «учителей», и студенты не смогут читать каждый другие файлы.
Если вам нужно, чтобы файлы принадлежали владельцу каталога, а не учащимся, которые их создали, вам нужно настроить отдельный общий ресурс, как описано выше, но затем добавить параметр уровня общего ресурса:
наследовать владельца = да
что приведет к тому, что файлы, созданные в каталогах в этом общем ресурсе, будут принадлежать содержащему каталогу, а не владельцу создания.