Estou usando ACLs para habilitar o acesso rw aos usuários locais e do samba, e notei que as permissões do grupo estão sempre definidas como rwx.
Este é o ACL definido no diretório de teste:
ubuntu@server:/test$ getfacl .
# file: .
# owner: samba
# group: samba
user::rwx
user:samba:rwx
user:ubuntu:rwx
group::rwx
mask::rwx
other::r-x
default:user::rwx
default:user:samba:rwx
default:user:ubuntu:rwx
default:group::rwx
default:mask::rwx
default:other::r-x
Arquivos criados via Samba resultarão em -rw-rwxr--+
:
ubuntu@server:/test$ ls -l
total 0
-rw-rwxr--+ 1 samba samba 0 Feb 19 03:40 file1
Para isolar o problema, defini create mask = 0000
on smb.conf
:
/etc/samba/smb.conf:
[Share]
path = /test
browseable = yes
guest ok = yes
read only = no
map archive = no
create mask = 0000
ubuntu@server:/test$ sudo systemctl restart smbd.service
*Create file2 via Samba*
ubuntu@server:/test$ ls -l
total 0
-rw-rwxr--+ 1 samba samba 0 Feb 19 03:40 file1
----rwx---+ 1 samba samba 0 Feb 19 03:41 file2
Nós podemos descobrir que não é o ACL se comportando mal criando um arquivo sob o usuário do samba:
ubuntu@server:/test$ sudo -u samba touch file3
ubuntu@server:/test$ ls -l
total 0
-rw-rwxr--+ 1 samba samba 0 Feb 19 03:40 file1
----rwx---+ 1 samba samba 0 Feb 19 03:41 file2
-rw-rw-r--+ 1 samba samba 0 Feb 19 03:42 file3
Então, podemos ver aqui, é o samba que está configurando g + rwx.
O problema desaparece depois de desativar a ACL:
ubuntu@server:/test$ sudo setfacl -b /test
ubuntu@server:/test$ sudo getfacl .
# file: .
# owner: samba
# group: samba
user::rwx
group::rwx
other::r-x
*Create file4 via Samba*
ubuntu@server:/test$ ls -l
total 0
-rw-rwxr--+ 1 samba samba 0 Feb 19 03:40 file1
----rwx---+ 1 samba samba 0 Feb 19 03:41 file2
-rw-rw-r--+ 1 samba samba 0 Feb 19 03:42 file3
---------- 1 samba samba 0 Feb 19 03:43 file4
Então, é correto concluir que com o ACL ativado, o samba definirá g + rwx? É um bug, ou eu perdi alguma coisa?
Eu vasculhei os documentos do samba e tentei todas as opções relevantes para as permissões: criar máscara, forçar o modo de criação, herdar permissões, mapear arquivo, oculto, somente leitura, sistema e estou com prejuízo do que mais poderia estar causando isso.