Пазл Linux Setfacl

321
Peter

У меня странная проблема с некоторыми ACL, которые я установил для своих виртуальных машин. Мои Vms хранятся в каталоге / shared / vms. ACL для этого каталога:

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 

По какой-то причине, которую я действительно не могу понять, моя последняя виртуальная машина не имеет разрешений для qemu:

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

Пользователь root umask - очень либеральный 0022. У пользователя настольного компьютера, который я использую для virt-manager, есть немного более строгий 0007. Но они не должны создавать эффективную маску --- !!!

Итак, почему у меня есть эти эффективные разрешения?

3

1 ответ на вопрос

0
virtex

Эффективную маску рассчитывают, выполняя побитовое распределение ANDразрешений и маски. Поскольку у вас есть маска ---, все биты разрешений будут отключены для любых пользовательских записей ACL, которые вы создаете. Чтобы это исправить, вам нужно установить маску rwxтак:

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

Повторите это для любых файлов, которые показывают действующие разрешения, которые не являются тем, что вы хотите. Обычно маска пересчитывается каждый раз, когда изменяется ACL, но этот файл, возможно, был создан с --no-maskопцией, или что-то могло явно установить маску.

Пожалуйста, проверьте еще раз OP. В каталоге есть rwx в качестве маски по умолчанию. Peter 6 лет назад 0

Похожие вопросы