ACL vários grupos padrão?

1

Com o Linux ACL, você pode ter vários grupos com acesso padrão a uma pasta? Eu quero isso para compartilhar repositórios de código entre diferentes grupos de codificação + vários processos. Meu pensamento é, se um usuário de um grupo cria conteúdo dentro do repositório compartilhado, mesmo que o proprietário seja esse usuário, as permissões padrão são propagadas para esse novo arquivo e os outros usuários ainda podem acessar o conteúdo.

Veja o que tentei como root:

mkdir /tmp/temp
chmod 770 /tmp/temp
setfacl -dm g:www-data:r-x,g:sambashare:r-x /tmp/temp
getfacl /tmp/temp

# file: temp
# owner: root
# group: root
user::rwx
group::rwx
other::---
default:user::rwx
default:group::rwx
default:group:www-data:r-x
default:group:sambashare:r-x
default:mask::rwx
default:other::---

Como testuser

id
uid=1004(testuser) gid=1007(testuser) groups=1007(testuser),110(sambashare)
cd /tmp/temp
bash: cd: temp: Permission denied

Então claramente não está funcionando como eu esperava. Alguém pode me ajudar a entender por que não está funcionando e como posso consertar isso?

P.S. Estou definindo permissões de grupo padrão em vez de apenas a permissão regular de grupo porque elas devem se propagar para as crianças.

 setfacl -m g:sambashare:r-x /tmp/temp
parece funcionar para conceder acesso.

Obrigado.

    
por Budric 17.05.2012 / 20:00

1 resposta

3

Tente executar setfacl -Rdm g:www-data:r-x,g:sambashare:r-x /tmp/temp e setfacl -Rm g:www-data:r-x,g:sambashare:r-x /tmp/temp . A opção d define os padrões, para novos arquivos e diretórios, mas não altera as configurações existentes, visto que somente root: root tem acesso. -R será útil para percorrer recursivamente diretórios existentes, fazendo as mudanças necessárias.

    
por 17.05.2012 / 20:32