3

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

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

1 ответ1

0

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .