Existe um diretório /test/test2/
. Seu proprietário é root
e o grupo é test
e a permissão é drwxr-xr-x
. Eu executei setfacl -m group:test:w ./
nesse diretório.
Agora, como o usuário test
cujos grupos incluem test
, se eu executar getfacl ./
nesse diretório, a saída será,
# file: .
# owner: root
# group: test
user::rwx
group::r-x
group:test:-w-
mask::rwx
other::r-x
Agora, se eu executar touch test.txt
, recebo touch: cannot touch 'test.txt': Permission denied
. Porque isto é assim? Não setfacl -m
adiciona a permissão à chmod
permissão? Quero dizer, dei test
permissão de gravação ao grupo com setfacl
, e como o grupo tinha r-x
permissão tradicional (que pode ser alterada com chmod
), isso não é efetivamente concedido rwx
ao test
grupo?
Eu tentei namei -l /test/test2/
, e a saída foi
f: /test/test2/
drwxr-xr-x root root /
drwxr-xr-x root root test
drwxrwxr-x root test test2
O principal problema está aqui:
O grupo
test
realmente tem permissões de gravação, mas não permissões de execução, portanto, você não poderá criar nada nesse diretório. Você terá que atribuir permissão com algo assim:Mesmo se você atribuir permissões
UNIX
de gravação , mas não permissões de execução , não poderá criar nada