web-dev-qa-db-ja.com

ZFS ACLの制限とは何ですか?

誰かがACLのZFSが処理できるユーザーの数を知っていますか?

言い換えれば、同じディレクトリにこのようなACLを何人のユーザーに設定できますか?

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

または見積もりも良いでしょう。例えば。私たちは100、500、1000、またはそれ以上を話しているのですか?

更新

121はFreeBSD9のバグではありません。

  • ZFSACLの制限は1024です。
  • FreeBSDACLの制限は254です。
  • FreeBSD NFSv4ACLの制限は254の約半分です。

/ sys/sys/acl.h を参照してください

5
Sandra

ZFSソースコード によると、最大数は1024に設定されています。SolarisのZFS上のファイルに1024個のACLを設定できることを確認できます。 FreeBSDでのZFSまたは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
5
jlliagre

あなたはFreeBSDフォーラムで質問したのと同じ人物であり、127であるとテストされたと思います。その時点で、ファイルシステムは「スペースが残っていません」というエラーを出しました。

3
USD Matt

自分でスクリプトを書いた後、FreeBSD 964ビットで121の制限がありました。

setfacl -b /tank/project1

i=0
for u in $(ypcat passwd|awk -F':' '{print $1}'); do
    setfacl -m user:$u:rwxpDdaARWcCos:fd----:allow /tank/project1
    let i=i+1
    echo $i $u
done
2
Sandra