Samba – запретить удаление файлов

Столкнулся с задачей настройки Samba таким образом, чтобы пользователи могли записывать файлы, но удалять не могли. Реализация под linux.

Припустим, у нас есть директория-шара. В smb.conf прописано:

1
2
3
4
5
6
7
8
9
10
11
12
13
[Files]
comment = Files
path = /home/samba/Files
valid users = +UserGroup
read list = +UserGroup
write list = +UserGroup
inherit permissions = yes
browseable = yes
guest ok = no
create mask = 664
directory mask = 775

Нам интересны две последние строчки. Create mask означает маску для создаваемых файлов, directory mask — для директорий.

После этого нужно перезагрузить сервис самбы:

1
$ service smb restart

Далее нужно поставить бит стойкости, который не даст удалить файлы созданные другими пользователями. Свои же удаляться без проблем. Также в чужих директориях можно будет создавать/удалять свои и только свои.

1
$ chmod -R 1775 Files/