Discrepância com a saída de 'ls -al' e 'getfacl'

2

Eu executei o seguinte script para definir permissões em / etc / nginx

#!/usr/bin/env bash

sudo chown -R root:root /etc/nginx
sudo chmod -R 0750 /etc/nginx
sudo setfacl -Rbk -m g:hugo:rwx /etc/nginx
sudo setfacl -R --mask -m g:www-data:rx /etc/nginx

No entanto, quando verifico as permissões posteriormente, há uma discrepância nos resultados do "grupo" de ls -al e getfacl

$ ls -al /etc/nginx
total 24
drwxrwx---+   5 root root 4096 Mar 18 17:07 .
$ getfacl /etc/nginx
getfacl: Removing leading '/' from absolute path names
# file: etc/nginx
# owner: root
# group: root
user::rwx
group::r-x
group:www-data:r-x
group:hugo:rwx
mask::rwx
other::---

Por quê?

    
por Hugo 18.03.2018 / 18:17

1 resposta

1

O que você vê com ls é a entrada mask da ACL. A partir de man setfacl , a entrada mask parece refletir as permissões máximas possíveis que podem ser definidas em uma entrada da ACL.

the permissions of the mask entry are further adjusted to include the union of all permissions affected by the mask entry

Os direitos de acesso que você vê no seu exemplo com ls para o grupo padrão root:rwx estão errados, pois os direitos efetivos agora são controlados pelas ACLs.

    
por Thomas 18.03.2018 / 19:08