Você deve conceder permissão a "usuários" para pesquisar diretórios, caso contrário, não funcionará:
sudo find /srv/http -type d -exec setfacl -m group:users:rwx {} \;
Estou executando o Arch Linux no meu laptop como uma máquina de desenvolvimento e preciso conceder privilégios de RW ao grupo de usuários para a pasta: / srv / http e todos os arquivos e pastas sob ele.
Assegurei-me de que o ACL está instalado e, em seguida, o adicionei ao meu fstab:
/dev/sda7 / ext4 rw,relatime,data=ordered,acl 0 1
Então eu corri o seguinte:
sudo setfacl -m group:users:rw- -R /srv/http
Funciona bem na minha máquina desktop, por que isso não funcionaria da mesma forma no meu laptop? Depois de usar o comando setfacl acima, os usuários não têm mais acesso de leitura aos arquivos ou pastas.
Quando eu removo os registros da ACL assim:
sudo setfacl -bR /srv/http
Após esse comando, os usuários podem abrir os arquivos, mas não modificá-los.
Estou fazendo algo errado aqui?
Aqui está a saída de "ls -l / srv / http"
[shane@arch-mobile ~]$ ls -l /srv/http/
total 4
drwxr-xr-x 9 http http 4096 Aug 7 11:04 drupal7
Saída de "zcat /proc/config.gz | grep -i acl":
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_JFS_POSIX_ACL=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_BTRFS_FS_POSIX_ACL=y
CONFIG_FS_POSIX_ACL=y
CONFIG_GENERIC_ACL=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFS_ACL_SUPPORT=m
CONFIG_CIFS_ACL=y
CONFIG_9P_FS_POSIX_ACL=y
Você deve conceder permissão a "usuários" para pesquisar diretórios, caso contrário, não funcionará:
sudo find /srv/http -type d -exec setfacl -m group:users:rwx {} \;
@quanta nothing. does that mean I have an issue with the fstab somewhere?
Sim. Isso significa que o sistema de arquivos raiz não foi remontado com o suporte da ACL:
# mount -o remount,acl /dev/sda7
e tente novamente.
Se a saída de
mount | grep acl
O comando está vazio, o sistema de arquivos raiz é montado sem suporte a acl. Mas se isso acontecer, o comando setfacl
produzirá um erro "Operação não suportada".
Por favor poste a saída do comando getfacl /srv/http
.