Активируйте ACL для пула zfs Ubuntu 13.04
Я проверил ACL на локальных папках, и я отлично работаю.
Но у меня на зфсе бассейн называется "танк"
root @ datacenter: / mnt # ls тестирование базы данных webmin_1.650_all.deb root@datacenter:/mnt# setfacl -m u:casper:rwx datatank setfacl: datatank: операция не поддерживается
Как я могу добавить поддержку acl для моей системы zfs?
В чем дело?
2 ответа
Я довольно новичок в zfs, но я только что столкнулся с этой проблемой.
У ZFS есть 2 свойства ACL: "aclinherit" и "aclmode", хотя мне не удалось заставить работать aclmode должным образом, но я думаю, что это недавно устарело.
Кроме того, эти 2 свойства имеют несколько режимов.
aclinherit: определяет поведение наследования ACL. Значения включают следующее:
- discard - для новых объектов записи ACL не наследуются при создании файла или каталога. ACL для файла или каталога соответствует режиму доступа к файлу или каталогу.
- noallow - для новых объектов наследуются только наследуемые записи ACL с типом доступа deny.
limited - для новых объектов разрешения write_owner и write_acl удаляются при наследовании записи ACL.
passthrough - когда для свойства установлено значение passthrough, файлы создаются в режиме, определяемом наследуемыми ACE. Если не существует наследуемых ACE, которые влияют на режим, режим устанавливается в соответствии с запрошенным режимом приложения.
passthrough-x - имеет ту же семантику, что и passthrough, за исключением того, что при включенном passthrough-x файлы создаются с разрешением execute (x), но только если разрешение на выполнение установлено в режиме создания файла и в наследуемом ACE, который влияет режим.
aclmode: (опять же, я не смог заставить его работать для моей версии, так что будьте осторожны!) изменяет поведение ACL при первоначальном создании файла или при изменении режима файла или каталога командой chmod. Значения включают следующее:
discard - удаляются все записи ACL, за исключением записей, необходимых для определения режима файла или каталога.
groupmask - права доступа ACL пользователя или группы уменьшаются, так что они не превышают биты разрешения группы, если только это не запись пользователя, имеющая тот же UID, что и владелец файла или каталога. Затем разрешения ACL уменьшаются, так что они не превышают биты прав владельца.
passthrough - во время операции chmod ACE, кроме владельца @, группы @ или всех @, не изменяются никаким образом. ACE с владельцем @, группой @ или всеми @ отключены для установки режима файла в соответствии с запросом операции chmod.
Например, вы должны установить acl для "tank/datatank" (не ваша точка монтирования, а фактический пул) следующим образом:
zfs set "ACL-PROPERTY"="ACL-MODE" tank/datatank
более конкретно
zfs set aclinherit=passthrough tank/datatank
Источники:
http://docs.oracle.com/cd/E19120-01/open.solaris/817-2271/gbaaz/index.html