quebra-cabeça setfacl do Linux

3

Eu tenho um problema estranho com alguma ACL que eu configurei para minhas VMs. Meus Vms são armazenados no diretório / shared / vms. As ACLs deste diretório são:

getfacl .
# file: .
# owner: root
# group: root
user::rwx
user:qemu:rwx
group::rwx
mask::rwx
other::r-x
default:user::rwx
default:user:qemu:rwx
default:group::rwx
default:mask::rwx
default:other::r-x

Por alguma razão que eu realmente não consigo entender, minha VM mais recente não tem permissões para o qemu:

getfacl ./demo.qcow2 
# file: demo.qcow2
# owner: root
# group: root
user::rw-
user:qemu:rwx                   #effective:---
group::rwx                      #effective:---
mask::---
other::---

O usuário root umask é o muito liberal 0022. O usuário de desktop que eu uso para o virt-manager tem um 0007 um pouco mais restritivo. Mas, esses não devem criar uma máscara efetiva de --- !!!

Então, por que tenho essas permissões efetivas?

    
por Peter 23.02.2018 / 12:14

1 resposta

0

A máscara efetiva é calculada fazendo um bit a bit AND entre as permissões e a máscara. Como sua máscara é --- , todos os bits de permissão serão desativados para quaisquer entradas de ACL personalizadas criadas por você. Para corrigir isso, você precisará definir a máscara para rwx da seguinte forma:

setfacl -m m::rwx ./demo.qcow2

Repita isso para todos os arquivos que estão mostrando permissões efetivas que não são o que você deseja. Normalmente, a máscara é recalculada sempre que a ACL é alterada, mas esse arquivo pode ter sido criado com a opção --no-mask ou algo pode ter definido explicitamente a máscara.

    
por 23.02.2018 / 17:00