A solução foi executar smbpasswd -a $user
para os usuários em questão.
Eu também mudei
create mask = 0660
force directory mode = 02770
para
create mask = 0665
force directory mode = 02775
Estou tentando criar um compartilhamento de samba legível por qualquer pessoa (acesso anônimo / convidado), mas gravável apenas por um determinado grupo de sistemas. No entanto, não é gravável para ninguém.
Eu criei um novo diretório e configure as permissões da seguinte forma:
sudo mkdir /mnt/testshare
sudo chgrp testgroup /mnt/testshare
sudo chmod g+s /mnt/testshare
sudo chmod g+wrx /mnt/testshare
Depois disso, esse diretório é listado como:
drwxrwsr-x 3 root testgroup 4096 Apr 24 07:05 testshare
Eu criei uma entrada no smb.conf:
[test]
path = /mnt/testshare
write list = @testgroup
create mask = 0660
force directory mode = 02770
guest ok = Yes
e reiniciei meu servidor samba.
Depois de fazer isso, posso ler todos os arquivos nesse diretório como convidado ou quando estou logado, mas não consigo excluir nem modificar arquivos mesmo quando estou logado como um usuário nesse grupo. (grupo de teste).
Eu verifiquei que eu sou capaz de criar arquivos nesse diretório como o mesmo usuário por ssh'ing, então as permissões do sistema estão ok.
Minha pergunta
Como devo configurar o samba para permitir isso?
A saída de smbd --version
é Version 4.2.10-Debian
A solução foi executar smbpasswd -a $user
para os usuários em questão.
Eu também mudei
create mask = 0660
force directory mode = 02770
para
create mask = 0665
force directory mode = 02775