Pasta compartilhada Samba com problema de setgid

0

Estou configurando um servidor de arquivos com um diretório compartilhado. Dentro, há pastas por usuário que podem ser lidas por qualquer usuário e um diretório compartilhado legível e gravável por qualquer usuário. As pastas por usuário são bastante simples. No entanto, estou tendo alguns problemas com a pasta compartilhada. Realizei o procedimento padrão para criar uma pasta GID definida:

# chown root shared
# chmod -R ug+rwX shared
# chgrp -R users shared
# find shared -type d -exec chmod g+s "{}" \;
# find shared -type d -exec setfacl -m "default:group::rwx" "{}" \;

Depois de garantir que todos os usuários estejam no grupo 'users', isso funciona perfeitamente via login direto no console, ssh, rsync, etc. No entanto, existem alguns problemas com o samba.

Com a configuração padrão do samba, o bit SGID e o GID são propagados, mas os novos arquivos e pastas não têm o conjunto de bits de gravação do grupo. Isso parece ser porque a ACL está sendo ignorada. De acordo com o link , a solução é adicionar vfs objects = acl_xattr ao smb.conf. Quando eu definir isso, a permissão de gravação do grupo está definida corretamente. No entanto, o grupo é então definido para o grupo primário do usuário em vez do grupo do diretório pai, o que, em vez disso, anula a finalidade do bit GID definido. Eu tentei os outros ajustes smb.conf anotados no link ( map acl inherit = yes , store dos attributes = yes e inherit acls = yes ), mas eles não tiveram efeito. Qual é a maneira correta de fazer isso funcionar?

    
por alex.forencich 15.12.2017 / 03:50

1 resposta

0

Para definir grupo, usuário e permissões para novos arquivos e pastas, eu uso essa configuração no servidor (em smb.conf ):

[shared-folder]
   writeable = yes
   force user  = "user"
   force group = "users"
   create mask = 0664
   force create mode = 0664
   directory mask = 0775
   force directory mode = 0755

Você pode manipular a pasta comum dessa maneira, por meio de uma pasta compartilhada separada.

Observação: como apontado nos comentários, essa configuração pode não ser compatível com as ACLs. Eu recomendaria fazer isso somente se você for confiar somente nas permissões do UNIX.

    
por 15.12.2017 / 07:25