为 zfs pool ubuntu 13.04 激活 ACL

use*_*861 8 zfs acl

我已经在本地文件夹上测试了 ACL,我工作得很好。

但是在我的名为“tank”的 zfs 池中

root@datacenter:/mnt# ls
数据槽测试 webmin_1.650_all.deb
root@datacenter:/mnt# setfacl -mu:casper:rwx datatank
setfacl:datatank:不支持操作

如何为我的 zfs 系统添加 acl 支持?

怎么了 ?

小智 15

zfs set acltype=posixacl tank/datatank
Run Code Online (Sandbox Code Playgroud)

  • 为了获得更好的性能 [这个选项](https://github.com/zfsonlinux/zfs/issues/170#issuecomment-27348094) 也应该在之后设置:`zfs set xattr=sa tank/datatank` (3认同)

小智 0

我对 zfs 相当陌生,但我自己刚刚经历过这个问题。

\n\n

ZFS 有 2 个 ACL 属性:"aclinherit""aclmode",虽然我一直无法让 aclmode 正常工作,但我认为它最近已被弃用。

\n\n

此外,这 2 个属性有多种模式。

\n\n
    \n
  • aclinherit:决定 ACL 继承的行为。值包括以下内容:

    \n\n
      \n
    • 丢弃\xe2\x80\x93 对于新对象,创建文件或目录时不会继承任何ACL 条目。文件或目录的ACL相当于文件或目录的权限模式。
    • \n
    • noallow \xe2\x80\x93 对于新对象,仅继承访问类型为拒绝的可继承 ACL 条目。
    • \n
    • 受限 \xe2\x80\x93 对于新对象,继承 ACL 条目时将删除 write_owner 和 write_acl 权限。

    • \n
    • passthrough \xe2\x80\x93 当属性值设置为 passthrough 时,将使用由可继承 ACE 确定的模式创建文件。如果不存在影响模式的可继承 ACE,则根据应用程序请求的模式设置模式。

    • \n
    • passthrough-x \xe2\x80\x93 与 passthrough 具有相同的语义,只不过当启用 passthrough-x 时,将使用执行 (x) 权限创建文件,但前提是在文件创建模式中设置了执行权限,并且在影响模式的可继承 ACE。

    • \n
  • \n
  • aclmode:(再次,我无法让这个适用于我的版本,所以要小心!)在最初创建文件时或每当通过 chmod 命令修改文件或目录的模式时修改 ACL 行为。值包括以下内容:

    \n\n
      \n
    • Discard \xe2\x80\x93 除定义文件或目录模式所需的条目外,所有 ACL 条目都将被删除。

    • \n
    • groupmask \xe2\x80\x93 用户或组 ACL 权限被减少,以便它们不大于组权限位,除非它是与文件或目录所有者具有相同 UID 的用户条目。然后,减少 ACL 权限,使其不大于所有者权限位。

    • \n
    • passthrough \xe2\x80\x93 在 chmod 操作期间,除owner@、group@ 或everyone@ 之外的ACE 不会以任何方式修改。具有owner@、group@ 或everyone@ 的ACE 被禁用以根据chmod 操作的请求设置文件模式。

    • \n
  • \n
\n\n

例如,您可以通过以下方式为“tank/datatank”(不是您的安装点,而是实际的池)设置 acl:

\n\n
zfs set "ACL-PROPERTY"="ACL-MODE" tank/datatank\n
Run Code Online (Sandbox Code Playgroud)\n\n

进一步来说

\n\n
zfs set aclinherit=passthrough tank/datatank\n
Run Code Online (Sandbox Code Playgroud)\n\n

资料来源:

\n\n

http://docs.oracle.com/cd/E19120-01/open.solaris/817-2271/gbaaz/index.html

\n\n

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

\n

  • Linux 上的 ZFS 上不存在 aclmode。 (2认同)