Para permissões padrão, é "-d". Então você pode usar isto:
setfacl -d -m g:group1:rwx "Main directory owned by group2 user"
Verifique também os direitos efetivos com o getfacl. Você pode ter que definir a máscara também.
Eu tenho dois grupos group1
e group2
.
Eu preciso que group1
usuários possam ler e gravar arquivos (rwx) de usuários em group2
, mas os usuários em group2
não podem gravar em arquivos (r-x) de group1
.
Todos os usuários de um grupo podem ler, mas não gravar, arquivos no mesmo grupo (r-x)
Eu sei que posso usar o ACL (Access Control Lists) para lidar com isso.
setfacl -m g:group1:rwx "directory owned by a group2 user"
o problema é que deve ser definido para cada nova pasta. Existe uma maneira de definir como padrão para que cada novo arquivo / pasta group2 user's
tenha essa permissão aplicada?
esse padrão será aplicado se eu criar um novo usuário em group2
?
Eu sei que as permissões normais são copiadas de /etc/skel
para a pasta inicial quando um novo usuário é criado, mas como fazer com que as permissões de acl sejam copiadas também?
Você não precisa de ACLs.
Coloque todos os usuários do grupo1 também no grupo2. Em seguida, certifique-se de colocar o bit setgid nos diretórios: todos os novos arquivos pertencerão ao proprietário do diretório, com permissões semelhantes (o setgid será adicionado aos novos subdiretórios).
# Setup as root
mkdir -p /tmp/test/1
chgrp group1 /tmp/test/1
chmod g+wsx,o= /tmp/test/1
mkdir -p /tmp/test/2
chgrp group2 /tmp/test/2
chmod g+ws,o= /tmp/test/2
# user1 is in groups users (primary gid), group1, group2
# user2 is in groups users (primary gid), group2
# as user1:users
mkdir -p /tmp/test/{1,2}/d1
touch /tmp/test/{1,2}/{f1,d1/f1}
# as user2:users
mkdir -p /tmp/test/{1,2}/d2
touch /tmp/test/{1,2}/{f2,d2/f2}
# check the ownerships on everything
ls -la /tmp/test/{1,2}/{f{1,2},d{1,2},d{1,2}/f{1,2}}
Se você quiser ficar com as ACLs, precisa ver as ACLs padrão, e você faz o mesmo com elas.
Quanto a adicionar novos usuários e /etc/skel/
, receio que você esteja sem sorte, pois o comando useradd
do estoque não preserva ACLs ou xattrs ao copiar / etc / skel /.