此发行版中再次引入了确定 chmod 操作期间如何修改文件中的 ACL 权限的 aclmode 属性。aclmode 值包括 discard、mask 和 passthrough。discard 缺省值受限制最多,passthrough 值受限制最少。
示例 9-3 ACL 与对 ZFS 文件的 chmod 操作的交互以下示例说明特定的 aclmode 和 aclinherit 属性值对现有 ACL 与 chmod 操作的交互有何影响,该操作减少或扩展了任何现有的 ACL 权限以便与组的所有权一致。
在此示例中,aclmode 属性设置为 mask,aclinherit 属性设置为 restricted。此示例中的 ACL 权限以简写模式显示,这样可以更方便地展示权限更改。
原始的文件和组所有权以及 ACL 权限如下所示:
# zfs set aclmode=mask pond/whoville # zfs set aclinherit=restricted pond/whoville # ls -lV file.1 -rwxrwx---+ 1 root root 206695 Aug 30 16:03 file.1 user:amy:r-----a-R-c---:-------:allow user:rory:r-----a-R-c---:-------:allow group:sysadmin:rw-p--aARWc---:-------:allow group:staff:rw-p--aARWc---:-------:allow owner@:rwxp--aARWcCos:-------:allow group@:rwxp--aARWc--s:-------:allow everyone@:------a-R-c--s:-------:allow
一个 chown 操作更改了 file.1 的文件所有权,且所属用户 amy 可查看输出。例如:
# chown amy:staff file.1 # su - amy $ ls -lV file.1 -rwxrwx---+ 1 amy staff 206695 Aug 30 16:03 file.1 user:amy:r-----a-R-c---:-------:allow user:rory:r-----a-R-c---:-------:allow group:sysadmin:rw-p--aARWc---:-------:allow group:staff:rw-p--aARWc---:-------:allow owner@:rwxp--aARWcCos:-------:allow group@:rwxp--aARWc--s:-------:allow everyone@:------a-R-c--s:-------:allow
下面的 chmod 操作将权限更改为限制性更强的模式。在此示例中,sysadmin 组和 staff 组的修改后 ACL 权限未超出所属组的权限。
$ chmod 640 file.1 $ ls -lV file.1 -rw-r-----+ 1 amy staff 206695 Aug 30 16:03 file.1 user:amy:r-----a-R-c---:-------:allow user:rory:r-----a-R-c---:-------:allow group:sysadmin:r-----a-R-c---:-------:allow group:staff:r-----a-R-c---:-------:allow owner@:rw-p--aARWcCos:-------:allow group@:r-----a-R-c--s:-------:allow everyone@:------a-R-c--s:-------:allow
下面的 chmod 操作将权限更改为限制性更弱的模式。在此示例中,sysadmin 组和 staff 组的修改后 ACL 权限恢复为允许与所属组相同的权限。
$ chmod 770 file.1 $ ls -lV file.1 -rwxrwx---+ 1 amy staff 206695 Aug 30 16:03 file.1 user:amy:r-----a-R-c---:-------:allow user:rory:r-----a-R-c---:-------:allow group:sysadmin:rw-p--aARWc---:-------:allow group:staff:rw-p--aARWc---:-------:allow owner@:rwxp--aARWcCos:-------:allow group@:rwxp--aARWc--s:-------:allow everyone@:------a-R-c--s:-------:allow