Це ж питання я задав студентам у списках розсилки самби кілька років тому (http://lists.samba.org/archive/samba/2008-September/143610.html), і відповідь спрацювала для нас. Вам потрібні розширені атрибути acl у вашій файловій системі (з пакета acl), ось відповідь Джеремі Еллісона ...
Гаразд, проблема полягає в тому, що студенти повинні мати можливість читати каталог, що містить, щоб мати змогу перетягувати туди нові файли. Причина полягає в тому, що Samba повинен мати можливість сканувати каталог від свого імені, щоб зробити нечутливі пошуки.
Але поки ви не заперечуєте, щоб студенти могли бачити імена файлів один одного, ви можете встановити DropBox, щоб студенти могли писати в нього (і власні файли), але не редагувати чи бачити інші файли.
По-перше, ви хочете переконатися, що файли, створені в каталозі DropBox, належать не первинній групі студента, а власнику групи дирекції DropBox. Тому :
chgrp викладачі DropBox
зробити його власністю групи вчителів. Потім встановіть встановлений біт в каталозі DropBox, щоб переконатися, що у створених там файлах є група вчителів.
chmod g + s DropBox
Потім переконайтесь, що файл у DropBox може бути перейменований або видалений тільки власником файлу, або власником каталогу, або кореневим кодом (ті ж дозволи, які має / tmp).
chmod + t DropBox
Потім дозвольте учням записатись у каталог, додавши ACL
setfacl -mg: студенти: rwx DropBox
Поки ACL за замовчуванням встановлений таким чином, що "інші" не мають дозволів, файли, записані студентом у цей каталог, будуть належати їм самим, але матимуть групу "викладачів", і студенти не зможуть читати кожного інші файли.
Якщо вам потрібно, щоб файли були власником власника каталогу, а не учнями, які їх створили, вам потрібно встановити окрему спільну подію, як описано вище, але потім додати параметр рівня спільного доступу:
успадкувати власника = так
що призведе до того, що файли, створені в каталогах цього спільного ресурсу, належать до каталогу, що містить, а не власника, який створює.