Активируйте 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 set acltype=posixacl tank/datatank

Я довольно новичок в 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

https://mywushublog.com/2012/05/zfs-and-acls-with-samba/

Другие вопросы по тегам