在此發行版本中,再次引進 aclmode 特性,它會決定 chmod 作業期間修改檔案之 ACL 權限的方式。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