У меня есть файловый сервер Samba 4.5.12, работающий на Debian Stretch, с файловым ресурсом, настроенным следующим образом:
[test]
path = /srv/test
read only = no
Внутри этого общего ресурса есть каталог: /srv/test/directory
. Затем, используя клиент Windows, я создаю файл test.txt
и после создания он имеет следующие разрешения:
# file: test.txt
# owner: some_user
# group: some_group
user::rw-
group::r--
other::r--
Затем на файловом сервере я установил ACL по умолчанию для /srv/test/directory
каталог:
setfacl -d -m group:some_other_group:rwx /srv/test/directory
touch /srv/test/directory/test2.txt
test2.txt
файл имеет разрешения, как и ожидалось:
# file: test2.txt
# owner: some_user
# group: some_group
user::rw-
group::r-x #effective:r--
group:some_other_group:rwx #effective:rw-
mask::rw-
other::r--
Когда я перехожу к созданию другого файла с помощью клиента Windows, я получаю следующее:
# file: test3.txt
# owner: some_user
# group: some_group
user::rw-
group::r--
group:some_other_group:rwx
mask::rwx
other::r--
Как видите, маска неправильная. Как я могу это исправить?
Я пробовал установить create mask = 0666
но это тоже не помогло. Единственное, что помогает, это отключение поддержки NT ACL через nt acl support = no
но я не хочу этого делать.
Полный smb.conf
как следует:
[global]
server role = member server
security = ADS
workgroup = *redacted*
realm = *redacted*
netbios name = FILES
kerberos method = secrets and keytab
acl allow execute always = yes
map to guest = bad user
store dos attributes = yes
map readonly = no
map archive = no
map hidden = no
map system = no
[test]
path = /srv/test
read only = no