
Há um arquivo chamado '/etc/file.conf' no meu sistema de arquivos.
$ getfacl /etc/file.conf
getfacl: Removing leading '/' from absolute path names
# file: etc/file.conf
# owner: root
# group: root
user::rw-
group::r--
other::r--
Quero que o 'userr' da minha conta tenha permissões de gravação para que meu script Python possa gravar nele. Ele é de propriedade do root, então minha ideia foi criar um novo grupo e configurá-lo para ele.
$ sudo groupadd rsnap
$ sudo usermod -a -G rsnap userr
$ id userr
uid=1000(userr) gid=1000(userr) groups=1000(user),27(sudo),1001(rsnap)
$ sudo setfacl -m g:rsnap:rw /etc/file.conf
$ getfacl /etc/file.conf
getfacl: Removing leading '/' from absolute path names
# file: etc/file.conf
# owner: root
# group: root
user::rw-
group::r--
group:rsnap:rw-
mask::rw-
other::r--
No entanto..
$ echo "Test" >> /etc/file.conf
-bash: /etc/file.conf: Permission denied
O que eu perdi?
Responder1
Você modificou /etc/rsnapshot.conf
, mas testou com /etc/file.conf
.
Você ainda precisa ativar a máscara por meio de:
setfacl -m m:rw- filename
ou
setfacl -m m::rw- filename
dependendo do sistema operacional - observe que esse tipo de ACL nunca foi padronizado. Uma proposta padrão relacionada de 1993 foi retirada em 1997.
Aliás: acabei de notar que sua máscara já pode ter sido definida. Então você ainda usou o nome de arquivo errado.
Problemas nesta proposta desatualizada de ACL ocorrerão frequentemente, pois a proposta padrão nunca foi concluída e houve um acordo de que não é o que os clientes gostariam de ter.