Filesystems

ZFS ACL 限制是多少?

  • December 10, 2012

有誰知道 ACL 的 ZFS 可以處理多少個使用者?

換句話說:對於同一個目錄,我可以為多少個使用者設置像這樣的 ACL?

setfacl -m user:test1:rwxpDdaARWcCos:fd----:allow /mnt/project1

或者估計也不錯。例如,我們說的是 100、500、1000 還是更多?

更新

121 不是 FreeBSD 9 上的錯誤。

  • ZFS ACL 限制為 1024。
  • FreeBSD ACL 限制為 254。
  • FreeBSD NFSv4 ACL 限制約為 254 的一半。

請參閱/sys/sys/acl.h

根據ZFS 原始碼,最大數量設置為 1024。我可以確認 1024 可以在 Solaris 下的 ZFS 上的文件上設置 ACL。ZFS 或 FreeBSD 上的 setfacl 實現可能有一個下限

# cat maxacl
#!/bin/ksh

touch file
i=1
while true; do
 for u in $(getent passwd | nawk -F: '{print $1}'); do
   chmod A+user:$u:read_data:allow file || break 2
   printf "%d %s\n" $i $u
   i=$((i+1))
 done
 ls -v file | head
 ls -v file | wc -l
done

# ls -v file | head
-rw-r--r--+  1 root     root           0 déc   6 13:05 file
    0:user:utku3:read_data:allow
    1:user:utku2:read_data:allow
    2:user:utku1:read_data:allow
    3:user:utku0:read_data:allow
    4:user:utwww:read_data:allow
    5:user:jlliagre:read_data:allow
    6:user:nobody4:read_data:allow
    7:user:noaccess:read_data:allow
    8:user:nobody:read_data:allow
# ls -v file | tail
    1017:user:root:read_data:allow
    1018:owner@:execute:deny
    1019:owner@:read_data/write_data/append_data/write_xattr/write_attributes
        /write_acl/write_owner:allow
    1020:group@:write_data/append_data/execute:deny
    1021:group@:read_data:allow
    1022:everyone@:write_data/append_data/write_xattr/execute/write_attributes
        /write_acl/write_owner:deny
    1023:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize
        :allow

引用自:https://serverfault.com/questions/455496