Usando ACL com vários grupos padrão

5

Analisei as respostas a perguntas semelhantes e atualizei minha memória em ACLs lendo tutoriais em ACLs do Linux. No entanto, ainda estou perplexo. O que eu fiz de errado ou o que não entendi?

Eu tenho um sistema de arquivos montado com a opção acl .

user@host:/srv$ grep srv /etc/fstab
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /srv ext4 relatime,nodev,nosuid,user_xattr,acl 0 2

O usuário, usuário , é um membro do grupo devs .

user@host:/srv$ id
uid=1000(user) gid=1000(user) groups=1000(user),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),1001(devs)

O umask é normal.

user@host:/srv$ umask
0022

Um diretório é criado; propriedade de grupo e permissões estão definidas.

user@host:/srv$ sudo mkdir lib; sudo chmod 0750 lib && sudo chgrp www-data lib
user@host:/srv$ ls -l
total 24
drwxr-x---  2 root www-data  4096 May 21 18:00 lib
drwx------  2 root root     16384 Feb 17 18:22 lost+found
drwxr-xr-x  3 root www-data  4096 May 21 17:25 www

Uma ACL é aplicada ao novo diretório.

user@host:/srv$ sudo setfacl -d -m g:devs:5 lib/
user@host:/srv$ getfacl lib
# file: lib
# owner: root
# group: www-data
user::rwx
group::r-x
other::---
default:user::rwx
default:group::r-x
default:group:devs:r-x
default:mask::r-x
default:other::---

Acho que devo conseguir uma listagem de diretórios, mas não posso.

user@host:/srv$ ls lib/
ls: cannot open directory lib/: Permission denied
    
por Christopher 22.05.2014 / 00:23

1 resposta

4

Gah - facepalm! A opção -d é usada para novos arquivos e diretórios no diretório lib. Uma ACL explícita deve ser definida para o próprio diretório lib.

Remova as ACLs.

user@host:/srv$ sudo setfacl -b lib
user@host:/srv$ ls -l
total 24
drwxr-x---  2 root www-data  4096 May 21 19:06 lib
drwx------  2 root root     16384 Feb 17 18:22 lost+found
drwxr-x---  3 root www-data  4096 May 21 17:25 www

Defina a ACL padrão.

user@host:/srv$ sudo setfacl -d -m g:devs:5 lib/
user@host:/srv$ getfacl lib
# file: lib
# owner: root
# group: www-data
user::rwx
group::r-x
other::---
default:user::rwx
default:group::r-x
default:group:devs:r-x
default:mask::r-x
default:other::---

Teste se a ACL permite que os membros do grupo devs usem ls .

user@host:/srv$ ls lib/
ls: cannot open directory lib/: Permission denied

Adicione uma nova ACL para o diretório, sem a opção -d (padrão).

user@host:/srv$ sudo setfacl -m g:devs:5 lib/
user@host:/srv$ ls lib/
user@host:/srv$ ls -l lib/
total 0

Copie um arquivo para o diretório lib.

user@host:/srv$ sudo cp /etc/hostname lib/
user@host:/srv$ cat lib/hostname
host

Mostrar as permissões.

user@host:/srv$ ls -l lib/
total 4
-rw-r-----+ 1 root root 6 May 21 19:15 hostname

Mostre as ACLs.

user@host:/srv$ getfacl lib/hostname
# file: lib/hostname
# owner: root
# group: root
user::rw-
group::r-x                      #effective:r--
group:devs:r-x                  #effective:r--
mask::r--
other::---

Fico feliz em receber mais informações sobre isso.

    
por 22.05.2014 / 01:23

Tags