POSIX ACLģ ģ§ģķė ź²ģ“ ģ¢ģµėė¤.
ė“ź° ė³¼ ģ ģėÆģ“ zfsė ģ“ėÆø xattrģ ģ§ģķź³ ģ¼ė¶ ė¤ė„ø ķģ¼ ģģ¤ķ
ģ xattrģ ķµķ“ ACLģ ģ§ģķ©ėė¤. ė“ė¶ė ėŖØė„“ģ§ė§ ģ“ ģģ
ģ źµ¬ķķźø° ź°ėØķ ģ ģģµėė¤.
ė¶ķķė ģķ©ģ ģ²ģ ėķėė ź²ė³“ė¤ ģ½ź° ź¹ė¤ė”ģµėė¤.
ė“ė¶ģ ģ¼ė” ZFSė NFS ģ¤ķģ¼ ACLģ ģė²½ķź² ģ§ģķź³ ģķķ©ėė¤. ė¶ķķė Linuxģģ źø°ģ”“ ėźµ¬ė Posix ģ¤ķģ¼ ACLė§ ģ”°ģķ©ėė¤. NFS ACL ėŖØėøģ Rich-ACLģ“ė¼ė ģ“ė¦ģ¼ė” Linuxģ ź°ģ øģ¤źø° ģķ“ ģ¼ė¶ ģģ ģ“ ģķėģģµėė¤. ģė”ģ“ Rich-ACL ėźµ¬ ģ²“ģøź³¼ ķµķ©ķė ¤ė©“ ZFSģģ ź°ģ system.richacl xattr ģøķ°ķģ“ģ¤ė„¼ ģ ź³µķ“ģ¼ ķ©ėė¤. ģ“ xattrģ ė¤ė„ø xattrģ²ė¼ ģ ģ„ėģ§ ģź³ ėģ zfs_getacl() ė° zfs_setacl()ź³¼ ķµķ©ė©ėė¤. ģ“ xattr ķķ¬ė vsecattr_tė„¼ xattrģ ėķ ģ ķ ė°ģ“ķø ģ¤ķøė¦¼ģ¼ė” ė³ķķė ģķ ģ ķ©ėė¤.
Posix ACLģ ėŖ ź°ģ ķķ¬ė„¼ ģ¶ź°ķź³ źø°ģ”“ Posix ACL ģ§ģ źø°ė„ģ ķģ©ķģ¬ ģ½ź² ģ§ģķ ģ ģģµėė¤. ź·øė¬ė Posixģ Rich ACL(NFS/ZFS) ź°ģ ģ¼ź“ģ± ė¬øģ ė„¼ ķ¼ķźø° ģķ“ źµ¬ķķģ§ ģė ź²ģ“ ź°ģ„ ģ¢ģµėė¤.
ģ¤ėŖ
ź°ģ¬ķ©ėė¤. POSIX ACLģ ģ§ģķė ģ¼ė¶ ģģ© ķė”ź·øėØģ“ ģģ¼ė©“ POSIX ACLė ėģģ“ ė ģ ģė¤ź³ ģź°ķ©ėė¤. ė“ź° źø°ģµķė ź²ģ²ė¼ ģ¼ė°ģė ź·øė° ź²ģ“ ģģµėė¤. rsyncė ACLģ ģ§ģķģ§ė§ ėØģź° "ACL"ģ“ė¼ź³ ė§ķźø° ėė¬øģ POSIXģė§ ķ“ė¹ķėģ§ ķģ ķ ģ ģģµėė¤. ė¤ė„ø ģģ© ķė”ź·øėØģ ėķ“ ėŖØė¦
ėė¤.
ė¤ė„ø ACLģ“ ģģ“ė ģøėŖØź° ģė¤ź³ ė§ķź³ ģ¶ģµėė¤. ź·øė¦¬ź³ ėÆøėģ źµ¬ķėė ź²ģ¼ė” ź°ģ£¼ė ģ ģģµėė¤.
ė“ė¶ģ ģ¼ė” ZFSė NFS ģ¤ķģ¼ ACLģ ģė²½ķź² ģ§ģķź³ ģķķ©ėė¤. ė¶ķķė Linuxģģ źø°ģ”“ ėźµ¬ė Posix ģ¤ķģ¼ ACLė§ ģ”°ģķ©ėė¤. NFS ACL ėŖØėøģ Rich-ACL(pdf)ģ“ė¼ė ģ“ė¦ģ¼ė” Linuxģ ź°ģ øģ¤źø° ģķ“ ģ¼ė¶ ģģ ģ“ ģķėģģµėė¤. ģė”ģ“ Rich-ACL ėźµ¬ ģ²“ģøź³¼ ķµķ©ķė ¤ė©“ ZFSģģ ź°ģ system.richacl xattr ģøķ°ķģ“ģ¤ė„¼ ģ ź³µķ“ģ¼ ķ©ėė¤. ģ“ xattrģ ė¤ė„ø xattrģ²ė¼ ģ ģ„ėģ§ ģź³ ėģ zfs_getacl() ė° zfs_setacl()ź³¼ ķµķ©ė©ėė¤. ģ“ xattr ķķ¬ė vsecattr_tė„¼ xattrģ ėķ ģ ķ ė°ģ“ķø ģ¤ķøė¦¼ģ¼ė” ė³ķķė ģķ ģ ķ©ėė¤.
Posix ACLģ ėŖ ź°ģ ķķ¬ė„¼ ģ¶ź°ķź³ źø°ģ”“ Posix ACL ģ§ģ źø°ė„ģ ķģ©ķģ¬ ģ½ź² ģ§ģķ ģ ģģµėė¤. ź·øė¬ė Posixģ Rich ACL(NFS/ZFS) ź°ģ ģ¼ź“ģ± ė¬øģ ė„¼ ķ¼ķźø° ģķ“ źµ¬ķķģ§ ģė ź²ģ“ ź°ģ„ ģ¢ģµėė¤.
ģ“ė¤ ė³“ģ ėŖØėøģ ģ ģ©ķ“ģ¼ ķėģ§ģ ėķ ė§ģ“ķø ģµģ
/ķģ¼ ģģ¤ķ
ģģ±ģ ģ“ė»ģµėź¹? (ź·øė¦¬ź³ ė¤ė„ø ķėė setfacl/getfaclź³¼ ź°ģ ź“ė¦¬ ėźµ¬ģģė ģģ ķ ģØź²Øģ ø ģģ ģ ģģµėė¤).
Linux ģøź³ģģ Rich-ACLģ ź±°ģ ģ¬ģ©ėģ§ ģģµėė¤. Posix ACLģ“ ķØģ¬ ė ė§ģ“ ķģ©ė©ėė¤. ė“ ģ¼ė°ģ ģø źµ¬ģ±ģģ ķģ¼ ģģ¤ķ
ģ ėķ ACLģ“ ģė¤ė ź²ģ ėė¼ģ“ ģ¼ģ
ėė¤.
ģ“ė° ģģ¼ė” ķØģ¬ ģ§§ģ ģź°ģ ģėķė ACL źµ¬ķ(Posix)ģ ģ»ģ ģ ģė¤ź³ ģź°ķ©ėė¤.
ģ ė POSIX ACL ģ§ģģ“ Linuxģ ZFSģ ķµķ©ėė ź²ģ ė³“ź³ ģ¶ģµėė¤. Linuxė POSIXģ“ė©° RichACLģ“ ė ģ£¼ė„ź° ė ėź¹ģ§(ėė ģ ģ“ė ģ»¤ėģģ) Linuxģ ZFSģģ POSIX ķµķ©ģ“ ģėÆøź° ģė¤ź³ ģź°ķ©ėė¤.
ģ“ ķ¬ķØė ź²ģ ė³“ź³ ģ¶ģµėė¤! ģ°ė¦¬ģź²ė ź±°ģ ģ¼ģ¤ķ ķ¼ ģģ§ė§ ėŖ ė¬ ėģ ģģ“ ģ“źø°ė” ź²°ģ ķģµėė¤.
ACLģ“ ź¹ėķź² ģ²ė¦¬ėė©“ clmode ģģ±ģ ė¤ģ ģģ±ķźø° ģķ ė¤ģ ķØģ¹ź° ė³ķ©ėģėģ§ ķģøķ“ģ¼ ķ©ėė¤. ģ“ ė³ź²½ ģ¬ķģ Illumos ė° FreeBSD źµ¬ķģ ģ“ėÆø ģ ģ©ėģģµėė¤.
ė¬øģ #742: ZFS "aclmode" ģģ± ė¶ķ
https://www.illumos.org/issues/742
https://github.com/illumos/illumos-gate/commit/a3c49ce110f325a563c245bedc4d533adddb7211
Posix < - > NFSv4 ACLģ ė§¤ķķ ģ ģģµėė¤.
IETFģė ķ“ė¹ ė§¤ķģ ėķ ģ“ģģ“ ģģµėė¤. http://tools.ietf.org/id/draft-ietf-nfsv4-acl-mapping-03.txt
ź·øė¬ė Posix => NFSv4(ėØė°©ķ„)ė§ ėŖ
ķķź² ģ§ģ ķ©ėė¤.
ė§¤ķ ė°©ģģ“ ģ“ė” ģ ģ¼ė”ė ź°ģ„ ģ¢ģ ė°©ģģ“ė¼ź³ ģź°ķģ§ė§ 1:1 ė§¤ķģ“ ė¶ź°ė„ķźø° ėė¬øģ ė¤ė„ø ė°©ģģ ė¹ķ“ ģ¤ė„ź° ė°ģķźø° ģ½ģµėė¤.
ģ¬ģ©ģź° ź±°ė¶ķ ģėź° ģė(ėė ė ėģź²ė ģ£¼ģ“ģ§) ź¶ķģ ź±°ė¶ė¹ķė(ėė ė ėģź²ė ģ£¼ģ“ģ§) ź²½ģ°ź° ķģ ģģµėė¤.
ģµģķ "ķ° ė±ė±ķ ź²½ź³ "ģ ķØź» ģ ź³µėģ“ģ¼ ķ©ėė¤.
ķģ§ė§ _ė°ėģ_ ģķķ“ģ¼ ķė ģģ
ģ _ė³“ģ_ źø°ė„ģ¼ė” ķė ź²ģ ķėŖ
ķģ§ ģģµėė¤.
ģ ģ: "ėŖØķøķ" NFSv4 aclģģ ģ»¤ė ė”ź·øģ ėķ ėŖØė ģ”ģøģ¤ ė° ģøģ ģ¤ė„ė„¼ ķģ©ķģ§ ģģµėė¤.
ķ“ė¹ ģ ģģ ėķ ė¬øģ : ģ¤ė
ģ·ģ ģėģ¼ė” ģģ ķ ģ ģģµėė¤.
Posix ACLģ ėķ "ģ“ģķ" ģØėģ¤ķ¬ ķģģ¼ė” ź°ėØķź² ė³¼ ģ ģģ¼ėÆė” ģ¤ģ ķė ė° ė¬øģ ź° ģģ“ģ¼ ķ©ėė¤.
NFSv4 ACLģ ķØģ¬ ė źµ¬ģ± ź°ė„ķ ģģģ ķ“ź²°ķ“ģ¼ ķ ė ė¤ė„ø ė¬øģ ģøķøė„¼ ģģ±ķ©ėė¤.
ģ“ źµ¬ķģ ģ²« ė²ģ§ø ėØź³ė ė¤ģģ ģķķ ģ ģģ“ģ¼ ķė¤ź³ ģź°ķ©ėė¤.
ģ°ģ ėØź³ģģ ė§¤ķ ė ¼ė¦¬ NFSv4 => Posixė„¼ ģ”°ģ ķź³ ķØģ¬ ė ģ¬ģ©ģ ģ ģķ ģ ģģµėė¤.
ė ėģ ģģ“ėģ“ź° ģģµėź¹?
ģ“ź²ģ ėģź² ķ©ė¦¬ģ ģø ģ¶ė°ģ ģ²ė¼ ė³“ģ ėė¤. ėØģ§ ėŖ ź°ģ§ ģź²¬ģ ėė¤.
ģė²½ķ 1:1 ė§¤ķģ ė¶ź°ė„ķģ§ė§ ģ¤ģ ė” ź·øė ź² ėģ ź²ģ ģėėė¤. ģ§ģ ķėÆģ“ ėģ¤ķ¬ģ ģ¬ė°ė„ø ACLģ ģ¤ģ ķė ė° ģ¬ģ©ķ ģ ģė ģ ģ§ģ ė IETF Posix -> NFSv4 ė§¤ķģ“ ģģµėė¤. ėģ¤ķ¬ģ SAė” ģ¤ģ ėė©“ źø°ģ”“ zfs źµ¬ķģ VFSģ ģ¼ė° Linux ACL ķķ¬ģ ė ė¦½ģ ģ¼ė” ģ“ė„¼ ģ ģ©ķźø° ģģķ“ģ¼ ķ©ėė¤.
ė¬¼ė” ACLģ ģ½źø° ģķ“ ķ©ė¦¬ģ ģø NFSv4 -> Posix ė§¤ķģ źµ¬ķķ“ģ¼ ķ©ėė¤. ź·øė¬ė ģ“ģ ėķ ķ©ė¦¬ģ ģø źµ¬ķģ ģ“ėÆø ģ”“ģ¬ķ©ėė¤. ėŖØė NFSv4 ACLģ ģģ¤ ģģ ģø Posix ACLė” ģ ģ„ķ“ģ¼ ķė Linux nfs ģ»¤ė ģė²ģ ź²½ģ°ģ ėė¤. ģ ģ³ėź³ , ģ„źø°ģ ģ¼ė” ģģ nfsv4/zfs ACLģ ė øģ¶ķė ź²ģ nfs ģ»¤ė ģė²ģ ģ¢ģ ģ¼ģ ėė¤. ė¬“ģėÆøķ NFSv4 -> Posix -> NFSv4 ė³ķģ ģ ģ¬ģ ģ¼ė” ķ¼ķ ģ ģģµėė¤.
ė§ģ§ė§ģ¼ė”, ģ°ė¦¬ė ģ“ź²ģ“ ģ¬ė°ė„øģ§ ķģøķźø° ģķ ķ ģ¤ķø ģ¤ģķøė„¼ ģķ©ėė¤. ģ“ź²ģ ź²°źµ ė³“ģ źø°ė„ģ ėė¤. ė¤ķģ¤ė½ź²ė ėŖ ź°ģ§ ģ¢ģ ķ ģ¤ķø ģ¤ģķøź° ģ“ėÆø ģ”“ģ¬ķė¤ė ģ¬ģ¤ģ ģź³ ģģµėė¤.
Greg Banksź° ģķķ ģ“ģ ģģ
ģ ėķ“ Aneesh kumar, Andreas Gruenbacherź° ģ¬ź°ģ ėķ“ ģ§ķ ģ¤ģø ģģ
ģ“ ģģµėė¤. 3.1 ė©ģøė¼ģø ė³ķ©ģ ģķ“ ķØģ¹ź° ģ ģ¶ėģģ§ė§ ģ¼ė¶ ė³ź²½ģ¼ė” ģøķ“ ģź°ģ“ ź±øė¦¬ź³ ė¤ģ ė¦“ė¦¬ģ¤ģģ ė³ķ©ė©ėė¤.
ķØģ¹ ė§ķ¬ : - https://lkml.org/lkml/2011/10/18/279
ģ“ź²ģ“ ė©ģø ė¼ģøģ ėė¬ķė©“ ZFSģ© nfsv4aclsė„¼ ģ§ģķė ė° ģ¬ģ©ķ ģ ģģµėė¤.
ģ“ź²ģ“ ė©ģø ė¼ģøģ ėė¬ķė©“ ZFSģ© nfsv4aclsė„¼ ģ§ģķė ė° ģ¬ģ©ķ ģ ģģµėė¤.
ź·øė¦¬ź³ POSIX ACLģ ģ“ė»ģµėź¹? Brianģ xattrģ ģ¬ģ©ķģ¬ źµ¬ķķė ź²ģ“ ź·øė¦¬ ģ“ė µģ§ ģė¤ź³ ė§ķģµėė¤. ģ“ź²ė ėźµ°ź°ź° ķ ģ ģģµėź¹? :)
ZFSė nfsv4aclsė„¼ ģ§ģķėÆė” IMHOė ėؼģ nfsv4aclsė„¼ ģ§ģķź³ posix aclģ“ ģ¤ģ ė” ķģķģ§ ķģøķ“ģ¼ ķ©ėė¤. ź·øė ė¤ė©“ ģ°ė¦¬ė ź·øė¤ ģ¬ģ“ģ ė§¤ķģ ģ ģķė ė°©ė²ģ ģģė¼ ģ ģģµėė¤.
ėė ė ė¤ ķ ģ ģė ģ“ģ ė„¼ ė³“ģ§ ėŖ»ķė¤. Maxximinoė ķģ¬ ģ ė¬øģķė ė²ģģ ķµķ“ system.posixacl xattr ģøķ°ķģ“ģ¤ė„¼ ģ§ģķźø° ģķ“ ė øė „ķź³ ģģµėė¤. system.richacl xattr ģøķ°ķģ“ģ¤ ģ¶ź°ė ķµķ©ėź³ ģ¤ģ ėźµ¬ ģ²“ģøģ ģ¬ģ©ķ ģ ģė ź²½ģ° ģ§ģė ģ ģģµėė¤.
ķģ
ė° ģ
ė¬“ ź“ė Ø ģģ
ģ¼ė” "ķģ¬ ģģ
ģ¤"ģ“ ķģ©ėģ§ė§ "ģģ " ģź°ģ ėķ ģ°ģ ģģź° ėģµėė¤.
ģ“ėÆø IllumOs CDDL ė¼ģ“ģ¼ģ¤ ģ½ėė„¼ ģ“ķ“ė³“ź³ NFSv4 <-> posix acl ė³ķģ ģķķė ģ¼ė¶ ģ½ėė„¼ ģ°¾ģģµėė¤. ź·øź²ģ ģ ķģ±ģ ź“ģ ģģ ź²¬ź³ ķ źø°ģ“ź° ėģ“ģ¼ ķ©ėė¤. ģģ² ģ ģøė¶ ģ¬ķ.
ėė solarisź° ACLģ ź“ė¦¬ķźø° ģķ“ ė ź°ģ chmod ģ¬ė³øģ ģ ź³µķė¤ė ź²ģ ģź³ ģģµėė¤. ė¶ķķė ģ“ź²ģ ė§¤ģ° ģ“ģķź³ ķ¬ė°ķ©ėė¤. Linuxģ zfsģģ ACL ė³“źø° ė° ģģ źø°ė„ģ ģ ź³µķźø° ģķ“ ėģ°ėÆø ķė”ź·øėØģø setzacl, getzacl ėė ģ“ģ ģ ģ¬ķ ź²ģ ģ¬ģ©ķ ź²ģ ģ ģķ©ėė¤. ź°źøģ ģ“ė©“ ģøķ°ķģ“ģ¤ė solaris chmodģ ģ ģ¬ķź±°ė(ėė ķøķėėė”) ģģ±ėģ“ģ¼ ķė©°, ź°ģ ė ģ ģģ§ė§ ė zfs Linux źµ¬ķģģ ėŖØė ķģ¤ķėģ“ģ¼ ķė©°, ė°ėģ§ķź²ė "nfs4" aclsė„¼ ģ¬ģ©ķģ¬ ķ„ķ ķģ¼ ģģ¤ķ ģ ģ²ė¦¬ķ ģ ģģ“ģ¼ ķ©ėė¤. (ėźµ°ź°ź° nfs4 ACLģ“ė¼ź³ ė¶ė¦¬ė ģ“ģ ė„¼ ģ¤ėŖ ķ ģ ģė¤ė©“ ź·øź²ė ķ° ėģģ“ ė ź²ģ ėė¤!)
Samba ģ¬ģ©ģź° nfs4 ACLģ ź³ ģķź³ ģ¶ģ“ķ ģė ģė¤ė ģ ģ ė§ė¶ģ“ź³ ģ¶ģµėė¤. ķ¹ķ źø°ė„ė³ė” Windows NTFS ACLź³¼ ģ¼ģ¹ķė ź²ź³¼ ź°ģ„ ė¹ģ·ķźø° ėė¬øģ ėė¤. ģ“ź²ģ ģµģ ė²ģ ģ Windowsź° ķ¹ģ ACLģ ķģøķė Active Directory ķź²½ģģ ģ¬ģ©ģ ķ ė° ķė”ķ ķ“ėģ© ģė²ė” Sambaė„¼ ģ¬ģ©ķė ¤ė ź²½ģ°ģ ģ¤ģķ©ėė¤. ėķ Windows ģķø ģ“ģ©ģ±ģ Sun ģėģ ZFSģ ģ¤ź³ ėŖ©ķ ģ¤ ķėģģ¼ėÆė” ź·øź²ģ“ ģ¬ė¼ģ§ė©“ ģķź¹ģ“ ģ¼ģ ėė¤...
ģ¦, POSIX ź·ģ ģ¤ģģ ėķ ģ¶ģ§ė „ģ ģ¶©ė¶ķ ģ“ķ“ķ©ėė¤.
aarcane - NFSv4 ACLģ ģģ¬ė http://wiki.linux-nfs.org/wiki/index.php/ACLs ė„¼ ģ°øģ”°
ģ ė ķģ¬ Samba 4 DC ė° ZFS CIFS ź³µģ ė„¼ ģ¤ķķź³ ģģµėė¤. źø°ė³ø ģģ¤ķ ģ ģ°ė¶ķ¬ 12.04ģ ėė¤.
XP Pro SP3 ķ“ė¼ģ“ģøķøė Active Directory(ģ¬ģ©ģ ė° ģ»“ķØķ°)ė„¼ ė³“ź³ ź“ė¦¬ķ ģ ģģ¼ė©° EXT4ģģ ź³µģ ė ķ“ėģ ėķ“ NTFS ź¶ķģ ģ ģ ķź² ģ¤ģ ķ ģ ģģµėė¤.
ZFSģģ ź³µģ ė ķ“ėė XP GUIė„¼ ķµķ“ ź¶ķģ ė³ź²½ķė ģ¦ģ CIFSė„¼ ķµķ“ ķģķ ģ ģź² ė©ėė¤(ķģ§ė§ ģģėė” ģė²ģ ėŖ ė ¹ģ¤ģģ ģ¬ģ ķ ģ”ģøģ¤ķ ģ ģģ).
ģģ ģ¤ė ėģģ ģ¤ėŖ ķ ė¬øģ ģ ź²°ź³¼ė¼ź³ ź°ģ ķ©ėź¹? ėŖØė ķ“ź²° ė°©ė² ģģ“ėģ“ė ź°ģ¬ķ ė°ģ ź²ģ ėė¤.
Samba 4ė„¼ ķµķ“ ģ ģ²“ NTFS ACL ź“ė¦¬ģė„¼ ķģ±ķķė©“ ZFSģ ģģ²ė ė³“ėģ¤ź° ė ź²ģ ėė¤.
ė¬øģ ģ ėķ ģģøķ ė“ģ©ģ ź²ģķ ģ ģģµėź¹? ģ ķķ Samba4 ė²ģ , ģ¬ģ© ģ¤ģø ķģ¼ ģė²(smbd ėė ntvfs) ė° ź“ė Ø ģ¤ģ ģ ė¬“ģģ
ėź¹? (ģ: vfs_acl_xattr ėė ģ“ģ ģ ģ¬ķ ź²ģ ģ¬ģ©ķź³ ģģµėź¹?)
ėģ¼ķ Samba4 źµ¬ģ±ģ“ "acl" ģµģ
ģģ“ ė§ģ“ķøė extYė„¼ ķµķ“ ģėķė ź²½ģ° ė¤ė„ø ė¬øģ ė„¼ ģ“ āāģ ģģµėė¤.
Sambaė„¼ ķµķ ģ¤ģ NFSv4(NTFSģ ģ ģ¬ķ) ACL ģ”°ģģ ėķ“ģė "Rich ACL" ķØģ¹ź° ģ»¤ėģ ė³ķ©ė ķģė§ _ź¹Øėķ ė°©ė²ģ¼ė”_ ģķķ ģ ģģµėė¤.
Maxximinoė ź°ģ¬ķ©ėė¤.
ģ¼ė° 4.0.0 alpha19ė„¼ ģ¬ģ©ķź³ ģģµėė¤.
ėė ntvfs(sudo /usr/local/samba/sbin/samba -i -M single)ė„¼ ģ¬ģ©ķģ¬ ķģ¼ģ ģė²ķė ¤ź³ ģėķź³ ģģµėė¤. ģ“ė ext4ģģ netlogon ė° sysvol ź³µģ ė„¼ ģ ź³µķź³ aclinherit=ė„¼ ģ¬ģ©ķģ¬ ėÆøė¬ė§ė ėė¼ģ“ėø ģģģ zfs ź³µģ ė„¼ ģ ź³µķ©ėė¤. ķµź³¼ ģøķø.
ģ¬ģ© ģ¤ģø vfs_acl_xattr ėŖØėģ“ ģģµėė¤.
"Sambaė„¼ ķµķ ģ¤ģ NFSv4(NTFSģ ģ ģ¬ķ) ACL ģ”°ģģ ėķ“ģė "Rich ACL" ķØģ¹ź° ģ»¤ėģ ė³ķ©ė ķģė§ ź¹Øėķ ė°©ė²ģ¼ė” ģķķ ģ ģģµėė¤."
ė“ź° ė¬øģ ė„¼ ģ“ķ“ķė ķ, ź³µģ richacls ķØģ¹ė EXT4ė§ ģ§ģķ©ėė¤. ģė„¼ ė¤ģ“ opensuse(źø°ė³øģ ģ¼ė” richaclsź° ķ¬ķØėØ)ė„¼ ģ¬ģ©ķź±°ė richaclsė„¼ ģ°ė¶ķ¬/ė°ė¹ģģ ķØģ¹ķė©“ zfs+samba4+ntfs aclsź° "ź·øė„ ģėģ ģģķ“ģ¼ ķ©ėė¤. "?
ź·ķģ ė¬øģ ė„¼ ģ¬ķķģµėė¤.
vfs_acl_xattrģ ėŖ
ģģ ģ¼ė” ģ¬ģ©ķź³ ģģ§ ģģ§ė§ Samba4ė "ģ”°ģ©ķ" ėģ¼ķ ģģ
ģ ģķķź³ ģģµėė¤. ACLģ "security.NTACL"ģ“ė¼ė xattrģ ģ ģ„ķ©ėė¤(getfattr -n security.NTACL $FILENAMEģ¼ė” ė³¼ ģ ģź³ setfattr -x security.NTACL $FILENAMEė” ģ ź±°).
ģ“ ģģ±ģ zfs/linux ģ»¤ėģ“ ģė Sambaģģė§ ź³ ė ¤ė©ėė¤. /dev/urandomģ ź°ģ zfsģ xattrsģ ģ ģ„ķė ź°ėØķ perl ķė”ź·øėØģ ģģėģ§ ģģ ģķė” ė¤ģ ģ½ģ ģ ģģ¼ėÆė” Samba4 ė¬øģ ė¼ź³ ģź°ķ©ėė¤.
ė¤ė„ø fsģģė xattrsė„¼ ģ¬ģ©ķė ėģ Posix ACLģģ ACLģ ė§¤ķķ ģ ģźø° ėė¬øģ ė¬øģ ė zfsģģė§ ėķė©ėė¤.
ģėģ, ķė¶ķ cl ķØģ¹ė” ģ»¤ėģ ķØģ¹ķė ź²ė§ģ¼ė”ė ģ¶©ė¶ķģ§ ģģµėė¤. ģ“ė¬ķ ķØģ¹ź° ė©ģøė¼ģøģ ėģ°©ķė©“ zfsģģ ķė¶ķ acl ģ§ģģ ķµķ©ķźø° ģģķ ģ ģģµėė¤.
ģ ė Suseģģ Samba 4ė„¼ źµ¬ģ¶ ģ¤ģ
ėė¤. ė¤ė„ø ź°ėģģ ė¹ģ ģ ė³µģ ķģ ģ¬ķķė ¤ź³ ķė ź² ź°ģģ.
ź³ ķµģ źµ¬ķģµėė¤.
ģė§ė ķ©ė¦¬ģ ģø(ėØźø°ģ ģø) ķ“ź²° ė°©ė²ģ ģģ ģ ģø Samba 3 ķź²½ģ ķµķ“ zfsģģ ķģ¼ģ ģ ź³µķė ź²ģ ėė¤. ģė„¼ ė¤ģ“ ė¤ė„ø Linux-VServerģģ Samba 4 DCģ ėķ“ ģøģ¦ķ©ėź¹?
ģ¤źø°ģ ģ¼ė” ZFS źø°ė° CIFS ź³µģ ė„¼ Samba 4 ADģ ź²°ķ©ķė ģ ķøė¦¬ķ°ė _ėģ¼ķ ģģ¤ķ ģģ_ ģ°ģķ ģ¼ė° ķėģØģ“ ģ§ģģ ģ ź³µķė Linux OSė„¼ źø°ė°ģ¼ė” ķė¤ė ģ ģ ź°ģ”°ķ ģ ģģµėė¤. ģź·ėŖØ ė¹ģ¦ėģ¤/ė¹ģė¦¬ ģ ķė¦¬ģ¼ģ“ģ ģ ź±°ėķ©ėė¤.
ģ§źøź¹ģ§ ėŖØė ģģ ģ ź°ģ¬ėė¦½ėė¤.
ėė ė¤ģ ģ¤ė ėė„¼ ģ°ģ°ķ ė°ź²¬ķģµėė¤.
https://lists.samba.org/archive/samba/2012-August/168660.html
ģģ½ķė©“ Samba 4ģė vfs_zfsaclģ“ė¼ė acl ėŖØėģ“ ģģ¼ė©° ģ“ė Sambaź° źø°ė³ø ZFS aclģ ģ¬ģ©ķ ģ ģėė” Solarisģģ ģ¬ģ©ė©ėė¤. ģ“ ėŖØėģ zfsonlinuxģ ķØź» ģ¬ģ©ķ ģ ģģµėź¹? Linuxģ ģ¬ģ©ģ ź³µź°ģģ ķģķ APIė„¼ ģ¬ģ©ķ ģ ģģµėź¹?
@kisg ģ¢ģ ģ§ė¬øģ ėė¤. ģ“ź²ģ ģ ź° Sambaģ© vfs_zfsacl ėŖØėģ ėķ“ ģ²ģ ė¤ģ“ė³ø ź²ģ ėė¤. ėźµ°ź°ė ź·øė¤ģ“ źø°ėķė ģøķ°ķģ“ģ¤ė„¼ ź²°ģ ķźø° ģķ“ ģ½ź°ģ ė øė „ģ źø°ģøģ¬ģ¼ ķ ź²ģ ėė¤. ź·øź²ģ“ ė¬“ģģøģ§ģ ė°ė¼ ģ°ė¦¬ė ź·øź²ģ ģ ź³µķ ģ ģģµėė¤. ė²ģģ“ ģė£ėģ§ ģģ ź²½ģ°ģė Linux ģģģģ ACLģ ź“ė¦¬ķ ģ ģė ė¬øģ ź° ź³ģ ė°ģķ©ėė¤.
ģģ¤ė„¼ ź°ėØķ ģ“ķ“ė“¤ģµėė¤.
: ķģ¬ vfs_zfsacl.cģ ģ¼ė° v4-0 ģģ ź°ģ§ ė²ģ ģ ģ°¾ģ ģ ģģµėė¤ git.samba.orgģ .
ėØģķ ė“ė¶ Samba ķķģģ źø°ė³ø SunOS NFSv4 acl/facl APIė” ė³ķķ©ėė¤. ģ“ APIė ģģ²“ NFSv4 acl źµ¬ķ ģ£¼ģģ ģģ ģ¬ģ©ģ ź³µź° ėķ¼ė„¼ ģ¬ģ©ķģ¬ FreeBSDģģė źµ¬ķė©ėė¤.
ģ“ ė¶ģģ ė°ė„“ė©“ Linuxģģ ģ“ źµ¬ķģ ģ¬ģ¬ģ©ķ ģ ģģµėė¤. ėģ zfsonlinuxģ richacl ķµķ©ģ“ ģė£ėė©“ librichacl ė¼ģ“ėøė¬ė¦¬ė„¼ ģ¬ģ©ķģ¬ Sambaģ©ģ¼ė” ģ ģ¬ķź² ź°ėØķ(1000ģ¤ ėÆøė§) vfs_richacl ėŖØėģ ė§ė¤ ģ ģģµėė¤.
richacl ģ»¤ė ķØģ¹ė„¼ ėģ¶© ģ“ķ“ė³“ė©“ zfsonlinux ķµķ©ģ ģ¤ģ ė” ģ»¤ėģ ķØģ¹ķģ§ ģź³ ė ķ ģ ģė ź²ģ²ė¼ ė³“ģ ėė¤. ėØģ§ richacl ģ½ėģ ķģķ ė¶ė¶(ė°ģ“ķ° źµ¬ģ”° ė° xattr ė³ķ)ģ ģ»¤ė ė²ģ ģ© zfs ķøė¦¬ė” ėģ“ģ¤źø°ė§ ķė©“ ė©ėė¤. źø°ė³øģ ģ¼ė” ģ§ģķģ§ ģģµėė¤. ģ“ź²ģ ģ°ė¦¬(ģ°ė¦¬ ķģ¬)ź° ķģ¤ Ubuntu LTS ģ»¤ėģ ģ¤ķķź³ zfsonlinuxė§ ģ¶ź° ėŖØėė” ź°ģ øģ¤źø°ė„¼ ģķźø° ėė¬øģ ģ¤ģķ©ėė¤.
ź·øė¬ė richaclģ“ ģ¬ģ ķ ģ ģ§ ź“ė¦¬ėź³ ģėģ§(ģ ģ„ģź° ģ¤ģ ė” ģµģ ģķė” ģ ģ§ėģ§ ģģ), ė°ėė¼ ģ»¤ėģ ķ¬ķØė ģģ ģøģ§ ķģ¤ķģ§ ģģµėė¤.
ėė richacl patchsetģ ģģ±ģģź² ģ°ė½ģ ģ·Øķģµėė¤. ź·øė ė¤ģ ģ¤ķģ ģø richacl vfs ėŖØėģ ģ§ģ ķģµėė¤. v4acls-experimental/samba.git
ė°ė¼ģ zfs ģģ²“ģ richacl ģ§ģģ ģ ģøķź³ ź±°ģ ėŖØė ė¶ė¶ģ“ ģ ģė¦¬ģ ģė ź²ģ²ė¼ ė³“ģ ėė¤(ėė ģ ģ“ė ģ¤ķģ ģø ķķė” ģ”“ģ¬ķØ).
ģ¼ė° ģŖ½ģģ libsunacl.cė„¼ Linuxė” ģ“ģķė ź²ģ¼ė” ģ¶©ė¶ķ ģ ģģµėź¹?
http://sourceforge.net/projects/libsunacl/
ź·øė¬ė ė“ź° ģ“ķ“ķė ķ "aclmode"ė zfsonlinuxģģ ģ¬ģ ķ ėė½ė ź²ģ ėė¤.
ėė ģ°ė¦¬ź° ģģ§ ģ“ė¤ ķķģ cl ģ§ģģ ķģ§ ģėģ§ģ”°ģ°Ø ėŖØė„“ź² ė¤. ģ ź°ģ§ź³
zfs aclsź° ģ¼ģ ø ģģ§ ģģµėź¹? chmod ė° lsģ ģ½ėė„¼ ģź³ ģģµėė¤.
exist.a getfacl ģ¤ķģ¼ getzaclģ ģ§źøģƤ ģ ź³µėģģ ź²ģ
ėė¤.ķģ¤ķ©ėė¤.
ź·øėė aclsź° ģė ė°ė ź·øė“ė§ķ ģ“ģ ź° ģģµėė¤.
2013ė
2ģ 15ģ¼ ģ¤ķ 2ģ 7ė¶ģ "franx" [email protected]ģ“ ė¤ģź³¼ ź°ģ“ ģ¼ģµėė¤.
ģ¼ė° ģŖ½ģģ libsunacl.cė„¼ Linuxė” ģ“ģķė ź²ģ¼ė” ģ¶©ė¶ķ ģ ģģµėź¹?
http://sourceforge.net/projects/libsunacl/
ź·øė¬ė ė“ź° ģ“ķ“ķė ķ "aclmode"ė zfsonlinuxģģ ģ¬ģ ķ ėė½ė ź²ģ ėė¤.
ā
ģ“ ģ“ė©ģ¼ģ ģ§ģ ėµģ„ķź±°ė Gi tHubhttps://github.com/zfsonlinux/zfs/issues/170#issuecomment -13630736ģģ ķģøķģøģ.
zfs aclģ“ ģ§ģė©ėė¤
ģķ:
acl ė§ģ“ķø ģµģ
ģ“ ķģ±ķė ė¤ė„ø ķģ¼ ģģ¤ķ
ģ smb ź³µģ ģ ķģ¼ģ ė§ė¤ź³ Windowsģģ ACLģ ģ¤ģ ķ©ėė¤.
aclinherit=passthroughė„¼ ģ¬ģ©ķģ¬ zfsonlinux ė³¼ė„Øģģ ķ“ė¹ ķģ¼ģ ģ“ėķ©ėė¤.
aclsė ė³“ģ”“..
Wath atmģė ģė£Øģ ģ“ ģģµėė¤. ģ¼ė°ģģ ģķķė ź²ģ ėė¤.
acl_xattr ėė acl_tdbė ģ“ė¬ķ źµ¬ģ±ģģ ģ¬ė°ė„“ź² ģėķģ§ ģģµėė¤. bsdģģė vfs_zfsaclģ ģ¬ģ©ķ©ėė¤.
zfs2bsdģ ė²ģźø°ģ²ė¼ ė³“ģ“ė libsunacl ģ¬ė¬¼ķµ
ė“ ģ§ė¬øģ ė°ė³“ ź°ģ§ė§ ģ°ė¦¬ź° CLģ ģ§ģķėģ§ ģ¬ė¶ė„¼ ėŖ ķķź² ģ“ķ“ķź³ ģ¶ģµėė¤. ģ¤ģ¹ė ģ°ė¶ķ¬-zfsė³“ė¤ VBox ģ°ė¶ķ¬ ģµģ ģė² 12.04 LTSė„¼ ė§ė¤ź³ ķ w ėŖ ė ¹ģ ģģ±ķģµėė¤.
'mypool'ģ ėķ źø°ė”:
2013-05-05.15:12:49 zpool ģģ± -f mypool /dev/disk/by-id/ata-VBOX_HARDDISK_VB88a04e0d-d8d1e7a4
'ķ±ķ¬'ģ ėķ źø°ė”:
2013-04-30.13:44:54 zpool ķ±ķ¬ ģģ± /root/vol1
2013-05-01.00:13:33 zfs ģøķø aclinherit=ķµź³¼ ķ±ķ¬
2013-05-05.13:50:14 zfs set dedup=on tank
ķ±ķ¬ė ė¬øģ ģģ“ setfaclģ ģ§ģķ©ėė¤.
mypoolģ ģ§ģėģ§ ģģ¼ė©° ģģ
ģ“ ģ§ģėģ§ ģėė¤ź³ ė§ķ©ėė¤.
ģ¼ė°ģ ķØź» zfsė„¼ ģ¬ģ©ķź³ ķ“ėģ ėķ ģ¬ė¬ ģ¬ģ©ģ ģ”ģøģ¤ė„¼ ģ ģ“ķ“ģ¼ ķ©ėė¤. ź·øė°
root@server :~# setfacl -mg: ģ¬ģ©ģ :--- test4v007/
ZFSģ© richacls ķØģ¹ė„¼ źµ¬ķķź³ ģ¶ģ§ė§ ZFSģ ėķ ź²½ķģ“ ģ ķ ģźø° ėė¬øģ ZFSonLinux ź°ė°ģ ģ¤ ķ ėŖ ģ“ ėģģ ģ ź³µķ ģ ģģ¼ė©“ ģ¢ģ ź²ģ ėė¤(ėė¶ė¶ ķķø ė° ķ ė” ķģ).
ģ“ź±“ ė¤ģ¼ė” ėė¦¬ź³ ģ¶ģė°...
@behlendorf - ģ“ģ ģģ ģ ģø ķģ¼ ģģ¤ķ ė¦“ė¦¬ģ¤ź° ģź²¼ģµėė¤. ģ“ ģģ ģ“ ģøģ ź¹ģ§ ģė£ė ģ§ģ ėķ ķģ¤ķ ģ¼ģ ģ“ ģģµėź¹? ė§ģ¼ģ¤ķ¤ 0.8ģ ģķ“ ėÆøė¤ė¤ė ź²ģ ģź³ ģģ§ė§ ķģ¬ ė¦“ė¦¬ģ¤ ģėģģė ėŖ ė ģ“ ź±øė¦“ ģ ģģµėė¤. ģ“ė¤ ģģ¼ė”ė ģģ¼ė” ź°ģ øģ¬ ģ ģģµėź¹?
ģ°ė¦¬ė Sambaė„¼ ģ¬ģ©ķģ¬ ķė”ķ ģ¤ķ ė¦¬ģ§ NAS ģė²ģ ė°°ķ¬ķė ģģ ģ ģ§ķķź³ ģ¶ģ§ė§ ACLģ“ ģė¤ė ź²ģ ģ°ė¦¬ģ ėŖØė ź²½ķ źø°ė°ģ“ Linuxģ ģźø° ėė¬øģ ģ¤ģ ė” ķź³ ģ¶ģ§ ģģ FreeBSDė„¼ ź³ ģķ“ģ¼ ķė¤ė ź²ģ ģėÆøķ ģ ģģµėė¤.
ėė ź·øź²ģ“ ģģ ķ ģ£¼ģ ģģ ė²ģ“ėģ§ ģźø°ė„¼ ė°ėėė¤.
ė°ė¹ģ kFreebsdė„¼ ģ¬ģ©ķ“ ė³“ģ
Øģµėź¹?
ź±°ģ ė¦¬ė ģ¤ź°ģ..
@sopmot - ģ ģ ė³“ģź³ ķė”ėģ ģ¤ė¹ź° ėģ§ ģģ ź²ģ¼ė” ģ¼ģ¶ķģ§ė§ ė¹ ė„“ź² ģ½ģ“ė³“ė ZoLė³“ė¤ ģ ķ¬ ģ¤ė¹ź° ėģ“ ģė ź² ź°ģµėė¤. ė°ė” ķź³ ģģµėė¤.
ģ¢ģ ģøģ¹Ø, ģ¬ė°ė„ø źøøė” ģė“ķ“ ģ£¼ģ ģ ź°ģ¬ķ©ėė¤. ė¬“ė”ķØģ ėķ“ ģ¬ź³¼ėė¦½ėė¤.
kfreebsdė„¼ ź³ģ ė³“ź³ ģėė° iscsi, nfsv4 ė°
kvm ź°ģķģ ėģ¼ķ©ėė¤. ė£Øķøė” ģ¬ģ©ķė ź²ģ ėķ“ ģ§ģ§ķź² ģź°ķģµėė¤.
ź·ø ėØģ ģ“ ėė¬ė ėź¹ģ§
2013ė
5ģ 19ģ¼ ģ¤ģ 9ģ 50ė¶ģ "Tamas Papp" [email protected]ģ“ ģģ±ķģµėė¤.
ėė ź·øź²ģ“ ģģ ķ ģ£¼ģ ģģ ė²ģ“ėģ§ ģźø°ė„¼ ė°ėėė¤.
ė°ė¹ģ kFreebsdė„¼ ģ¬ģ©ķ“ ė³“ģ Øģµėź¹?ź±°ģ ė¦¬ė ģ¤ź°ģ..
ā
ģ“ ģ“ė©ģ¼ģ ģ§ģ ėµģ„ķź±°ė Gi tHubhttps://github.com/zfsonlinux/zfs/issues/170#issuecomment -18120673ģģ ķģøķģøģ.
.
ģ“ ė¬øģ ź° ķ“ź²°ėė ź²ė ė³“ź³ ģ¶ģµėė¤. ė¶ķķė ģģ¦ ģź°ģ“ ė¶ģ”±ķģ¬(ģ ģģ¤/ģ»¤ėģ ėķ“ ģ ėŖØė¦ ėė¤), ź·øėģ ģ¤ģ¤ė”ė„¼ ėģø ģ ģė ź² ė§ģ§ ģģµėė¤. ķ¹ģ ėė ķ ė¦¬ģ ģė ģ ķģ¼ģ ėķ“ ķ¹ģ ź¶ķģ ģ ģ©ķ©ėė¤; ģ ė ź³µź°ģ ģ¼ė” ģ¬ģ© ź°ė„ķ ķ“ėģ ķģ¼ģ ė£ė ź²½ģ°ź° ė§ģ¼ė©°, umaskė„¼ ė¤ģź³¼ ź°ģ“ ģ¤ģ ķź³ ģ¶ģ§ ģźø° ėė¬øģ ķģ¼ģ“ ķøģķ ź¶ķģ¼ė” ģė ģ¤ģ ė ģ ģė¤ė©“ ģ¢ģ ź²ģ ėė¤. ė“ź° ė§ėė ėė¶ė¶ģ ķģ¼ģ ėķ“ ģģ ģ£¼ģģ ģ“ė©° ź²°źµ ė“ ķ ķ“ėģ ģģµėė¤.OSOL/FreeBSDģģė NFSv4 ACLģ ģ¬ģ©ķģ¬ ģ“ ģģ ģ ģķķ©ėė¤. ofģ(ė) 30ė¶ė§ė¤ ź“ė Ø ėė ķ ė¦¬ģ ėķ“ permsė„¼ ģ¬ź·ģ ģ¼ė” ģ¤ģ ķė cronjobģ ģ¤ķķź³ ģģµėė¤.
ģ°øź³ ė” ģ¬ėė¤ģ ėģ ź°ģ ģ¤ģė„¼ ķģ§ ģģµėė¤. - Debian kFreeBSDė ZFS ģ§ģģ ģ ķ©ķģ§ė§ ACLģ ģ¬ģ ķ āāuserlandģģ ģėķģ§ ģģµėė¤. "Function Not Implemented"ė¼ė ė©ģģ§ź° ķģė©ėė¤. - Debian ė²ź·ø ģ°øģ”°: http:// bugs.debian.org/cgi-bin/bugreport.cgi?bug=607573
@iamacarpet ģ“ źø°ė„ģ“ ķģķ ģ¬ėģ“ ģģ ķ ģź°ģ“ ģźø°ė©“ ė°ė” ė°ģķ ģ ģģµėė¤. ķģ¬ ķė”ģ ķøģ ģ£¼ģ ėģøģ ACLģ ė§ģ“ ģ¬ģ©ķģ§ ģģ¼ėÆė” ģ°ģ ģģ ėŖ©ė”ģ ė§Ø ģėģ ģģµėė¤. ź·øė¬ė ģ“ ģ§ģģ“ ķģķ ģ¬ėģ“ ė°ģ“ė¤ģ“ ė ė¹Øė¦¬ ķė ź²ģ ė§ģ ģ ģė ź²ģ ģģµėė¤. ģ£ģ”ķ©ėė¤ė§, ģ“ź²ģ ėØģ§ ģķ©ģ ķģ¤ģ ėė¤.
ģė ķģėź¹,
ė°±ģ ģ“ķė¼ģ“ģøģ¤ģģ zfsonlinuxė„¼ ģ¬ģ©ķź³ ACLģ“ ķµķ© ėŖ©ģ ģ ģ¤ģķė¤ź³ ģź°ķ©ėė¤. Windows ģ»“ķØķ°ģģ ZFS ź³µģ ė³¼ė„Øģ ź¶ķ ė³ź²½ź³¼ ź°ģ ėŖ ź°ģ§ ģ¼ė°ģ ģø ģģ ģ“ ķģķ©ėė¤.
ACLģ ģģ§ ė”ėė§µģ ģģµėź¹?
ź°ģ¬ ķ“ģ.
@n1mh ė²ģ 0.8.0ģ¼ė” ģģ ėģ“ ģģµėė¤.
@maxximino ėė¶ģ Posix ACLģ ėķ ģ§ģģ“ źµ¬ķėģģµėė¤. ė ź“ė²ģķ ķ ģ¤ķøė„¼ ģķ“ ģ¤ė¹ė ķØģ¹ģ ģµģ¢ ė²ģ ģ ź°ź¹ģ“ ķ ė¦¬ķģ¤ķø #1809ė„¼ ģ“ģģµėė¤. Posix Test Suiteģ ACL ģ¹ģ ģ ź¹ėķź² ķµź³¼ķģ¼ė©° ģ°ė¦¬ė ėÆøķ“ź²° ė¬øģ ė„¼ ģøģķģ§ ėŖ»ķ©ėė¤.
ģ“ źø°ė„ģ ģķė ģ¬ėė¤ģź²ė ģ ģė ķØģ¹ė„¼ ķģ¤ģ ģø ģķ¬ė”ėė” ķ ģ¤ķøķ ģ ģė¤ė©“ ė§¤ģ° ėģģ“ ė ź²ģ ėė¤. ģ¬ģ©ģ ķź²½ģģ ģģķ ėė” ģėķėģ§ ķģøķģģģ¤. Posix ACLģ źø°ė³øģ ģ¼ė” ė¹ķģ±ķėģ“ ģģ§ė§ ė°ģ“ķ° ģøķøģģ _acltype_ ģģ±ģ ģ¤ģ ķģ¬ ķģ±ķķ ģ ģģµėė¤.
zfs set acltype=posixacl pool/dataset
Linux ģ¤ķģ¼ Posix ACLģ xattrė” źµ¬ķėģ“ ė§ģ¤ķ°ģ ė³ķ©ėģģµėė¤. źø°ė³ø NFS ACLź³¼ ė ė¦½ģ ģ¼ė” ģ ģ„ėė©° ģ¶©ėķģ§ ģģµėė¤. ģ“ źø°ė„ģ ķģ±ķķźø° ģķ“ ģ ė°ģ“ķ° ģøķø ģģ± acltype ģ“ ģ¶ź°ėģģµėė¤. ģµģģ ģ±ė„ģ ģķ“ acltype=posixacl ė° xattr=sa ė„¼ ėŖØė ģ¤ģ ķė ź²ģ“ ģ¢ģµėė¤. ģģøķ ė“ģ©ģ ģ ė°ģ“ķøė ė§¤ė“ģ¼ ķģ“ģ§ė„¼ ģ°øģ”°ķģģģ¤.
acltype=noacl | posixacl
Controls whether ACLs are enabled and if so what type of ACL to
use. When a file system has the acltype property set to noacl (the
default) then ACLs are disabled. Setting the acltype property to
posixacl indicates Posix ACLs should be used. Posix ACLs are spe-
cific to Linux and are not functional on other platforms. Posix
ACLs are stored as an xattr and therefore will not overwrite any
existing ZFS/NFSv4 ACLs which may be set. Currently only posixacls
are supported on Linux.
To obtain the best performance when setting posixacl users are
strongly encouraged to set the xattr=sa property. This will result
in the Posix ACL being stored more efficiently on disk. But as a
consequence of this all new xattrs will only be accessable from ZFS
implementations which support the xattr=sa property. See the xattr
property for more details.
ķėŖ© acltype=nfs4ė ė¤ģź³¼ ėģ¼ķź² ģøģėź³ ģ²ė¦¬ėģ“ģ¼ ķ©ėė¤.
noaclģ“ģ§ė§ ķøķģ±ģ ģķ“ ķģ©ė©ėź¹?
2013ė
10ģ 29ģ¼ ģ¤ķ 3ģ 55ė¶, "Brian Behlendorf" [email protected]
ģ¼ė¤:
Linux ģ¤ķģ¼ Posix ACLģ xattrė” źµ¬ķėģ“ ė¤ģģ¼ė” ė³ķ©ėģģµėė¤.
ģ£¼ģø. źø°ė³ø NFS ACLź³¼ ė ė¦½ģ ģ¼ė” ģ ģ„ėė©°
ź°ė±. ķģ±ķķźø° ģķ“ ģ ė°ģ“ķ° ģøķø ģģ± _acltype_ģ“ ģ¶ź°ėģģµėė¤.
ģ“ źø°ė„. ģµź³ ģ ģ±ė„ģ ģķ“ ė¤ģģ ź°ė „ķ ź¶ģ„ķ©ėė¤.
_acltype=posixacl_ ė° _xattr=sa_ė„¼ ėŖØė ģ¤ģ ķ©ėė¤. ģģøķ ė“ģ©ģ
ģ ė°ģ“ķøė ė§¤ė“ģ¼ ķģ“ģ§:acltype=noacl | posixacl Controls whether ACLs are enabled and if so what type of ACL to use. When a file system has the acltype property set to noacl (the default) then ACLs are disabled. Setting the acltype property to posixacl indicates Posix ACLs should be used. Posix ACLs are spe- cific to Linux and are not functional on other platforms. Posix ACLs are stored as an xattr and therefore will not overwrite any existing ZFS/NFSv4 ACLs which may be set. Currently only posixacls are supported on Linux. To obtain the best performance when setting posixacl users are strongly encouraged to set the xattr=sa property. This will result in the Posix ACL being stored more efficiently on disk. But as a consequence of this all new xattrs will only be accessable from ZFS implementations which support the xattr=sa property. See the xattr property for more details.
ā
ģ“ ģ“ė©ģ¼ģ ģ§ģ ėµģ„ķź±°ė Gi tHubhttps://github.com/zfsonlinux/zfs/issues/170#issuecomment -27348094ģģ ķģøķģøģ.
.
ģ“ź² ģ ė«ķģėģ? acltype nfs4ė ģģ ķ źµ¬ģģø ė¹ķģ¤ POSIX ģ“ģ ACLė³“ė¤ _ķØģ¬_ ģ¤ģķ©ėė¤. NFS ACLģ ė¤ė„ø ķė«ķ¼ģ ZFSģ ėķ źø°ė³øź°ģ“ė©° ķØģ¬ ė ģ ģ°ķ©ėė¤. ėķ ACLģ“ ģ¤ģ ė” NFS ė° NT ACLģ ėŖØė ģ ė§¤ķėėÆė” NFSv4ģ SMB ėŖØėģģ ģķķź² ė“ė³“ė¼ ģ ģģµėė¤. POSIX ģ“ģ ACLė ģ¢ģ§ ģģµėė¤.
POSIX ģ“ģ ACLė ģģģ ģ ģ²ė¦¬ķģ§ ėŖ»ķź³ ģ ķģ¼ģ ėķ źø°ė³øź°ė§ ģ ź³µķ©ėė¤. NFSv4 ACLģ“ ģ ģ¼ķ ė°©ė²ģ ėė¤.
@synnack NFS ACL ģ§ģģ ģ£¼ģ ė¬øģ ė ģ¤ģ ė” ZFS ģø”ģ ģģ§ ģģµėė¤. ģ°ė¦¬ė ėŖØė źø°ė„ģ ė³“ģ”“ķģ¼ė©° ė“ė¶ģ ģ¼ė” ģ¬ģ©ė©ėė¤. ė¬øģ ė NFS ACLģ“ ģė POSIXė„¼ ģ¤ģ¬ģ¼ė” źµ¬ģ¶ė Linux ģ ķøė¦¬ķ°(getfattr, setfattr ė±)ģ ģģµėė¤. ź³¼ź±°ģ NFS ACLģ Linuxė” ź°ģ øģ¤ė ¤ė ģėź° ģģģ§ė§ ė“ź° ģė ķ ź·ø ģ“ė ź²ė ėė¦¬ ģ±ź³µķģ§ ėŖ»ķģµėė¤. ģµź·¼ģ ģķ©ģ“ ė°ėģ§ ģė ķ ź·øź²ģ“ ź°ģ„ ķ° ģ„ģ ė¬¼ģ ėė¤.
ė¬¼ė” ģ ėė¤. ķģ§ė§ OpenSuSEģģ Andreas Gruenbacherģ Aneesh Kumarģ ģģ ģ ė³“ė©“ ģ“ėÆø richacl ķØģ¹ė„¼ ģ ź³µķź³ ģģµėė¤. ģ§źø ķ¬ķØķ LKMLģ ..
richaclģ“ NFSv4 ACLģ“ ģėė¼ė ģ ģ ģ ģøķź³ ė NFSv4 ģ¤ķ¤ė§ė„¼ POSIX ACLź³¼ ė³ķ©ķ ź²°ź³¼ģ ėė¤. ext4ģ©ģ¼ė” ģ¤ź³ėź³ POSIX ACL, IIRCģ ėŖØė ģµģ ģ ė¶ė¶ģ ģ ģ§ķ©ėė¤.
ģ°ė¦¬ģź² ķģķ ź²ģ NFSv4 ACLģ ģ§ģķė ķģ¼ ģģ¤ķ ģ“ ACLģ ģ¤ģ ķ ģ ģėė” ķė ģ ģ ķ ģøķ°ķģ“ģ¤ģ ėė¤. Linuxģģ ģ§ģķė ACL ģ ķģ“ ģ ģ“ė ķ ź°ģ§ ė ģģµėė¤(ģµģķ ė¶ė¶ģ ģ¼ė”ė) - AFS ACL. ė°ė¼ģ ģ¬ė¬ źµ¬ģ±ķė„¼ ģ§ģķ ź°ė„ģ±ģ“ ģ ģ ģ ģ“ ģė ź²ģ ģėģ§ė§ ź°ģ„ ģ ģ§ģķė ¤ė©“ Solarisģ ģ ģ¬ķ APIź° ķģķ ģ ģģµėė¤...
ė¬¼ė” , Richaclsź° NFSv4 ģøė¶ė” ėź°ė ėŖØė ė¶ė¶ģ ģ¤ģ§ķėė” ėźøė§ķ ģ ģź³ userlandź° ė¹ģ ģ ė§ģ¹ģ§ ģėė¤ź³ ź°ģ ķź³ (ģė ķģøģ, POSIX ACL ė§ģ¤ķ¬ ė¹ķø!), ź·øė¦¬ź³ ź·øė¤ģ“ ģ¤ģ ė” ėŖØė NFSv4 ģ¬ģģ źµ¬ķķė¤ź³ ź°ģ ķė¤ė©“.. ģģ§ķ ė§ķ“ģ ė§ģ ź°ģ ģ ėė¤.
ģ¤ģ ė” ģ“ ģėė” ZFSģ ķģ¼ģ ģ ģ©ķ ģ ģė IOCTLģ ģ¶ź°ķė ź²ģ“ ģ¢ģµėė¤.
ģ, ģ¬ėė¤ģ“ ķė¶ķ ACL ģģ ė³ķ©ė POSIX ģ“ģ ACLė” ė¬“ģģ ķķź±°ė¦¬ź³ ģėģ§ ģ ėŖØė„“ź² ģµėė¤. ģķ°ė¦¬ POSIX ģ“ģ ACLė³“ė¤ ģė¼ė¦¬ģ¤ ė° BSDģ ķøķėė ź²ģ“ ė ģ¢ģµėė¤.
@behlendorf :
ė¬øģ ė NFS ACLģ“ ģė POSIXė„¼ ģ¤ģ¬ģ¼ė” źµ¬ģ¶ė Linux ģ ķøė¦¬ķ°(getfattr, setfattr ė±)ģ ģģµėė¤. ź³¼ź±°ģ NFS ACLģ Linuxė” ź°ģ øģ¤ė ¤ė ģėź° ģģģ§ė§ ė“ź° ģė ķ ź·ø ģ“ė ź²ė ėė¦¬ ģ±ź³µķģ§ ėŖ»ķģµėė¤. ģµź·¼ģ ģķ©ģ“ ė°ėģ§ ģė ķ ź·øź²ģ“ ź°ģ„ ķ° ģ„ģ ė¬¼ģ ėė¤.
ė°°ķ¬ķģ NFS4 cl ź“ė¦¬ė„¼ ģķ“ "nfs4-acl-tools" ķØķ¤ģ§ė„¼ ģ¬ģ©ķź³ ģģµėė¤. nfs4_getfacl, nfs4_setfacl ė° nfs4_editfaclģ ģ¬ģ©ķ©ėė¤. zfsģ ėķ“ ģ“ė„¼ ģ¤ķķė©“ ķģ¬ "ģģ² ģģ±ģ“ ģ§ģėģ§ ģģµėė¤."ė¼ė ė©ģģ§ź° ėķė©ėė¤. ģ“ź²ģ Linuxź° NFS4ė„¼ ģķķė ė°©ģģø ź² ź°ģµėė¤. ģ“ģ ėźµ¬ģ zfsź° ģė”ė„¼ ģøģķė ė°©ė²ė§ ģģ¼ė©“ ė©ėė¤.
@ghfields ģź²¬ ģ£¼ģ
ģ ź°ģ¬ķ©ėė¤. ėŖ ė
ėģ nfs4 aclģ ģ“ķ“ė³“ģ§ ģģģ§ė§ ģ¬ģ©ģ ź³µź° źµ¬ģ± ģģģģ ģ ė§ ģ¢ģ ģ§ģ ģ ė³“ģ“ź³ ģė ź² ź°ģµėė¤. nfs4-acl-tools ģģ¤ė„¼ ėģ¶© ģ½ģ“ė³“ė©“ ģģėė ģ¬ģ©ģ/ģ»¤ė ģøķ°ķģ“ģ¤ź° ģģ xdrė” ģøģ½ė©ė aclģ ķ¬ķØķė system.nfs4_acl
ė¼ė xattrģ ķµķ“ ģ“ė£Øģ“ģ§ė ź²ģ²ė¼ ė³“ģ
ėė¤.
ģ“ ģģ
ģ ģķķė ¤ė©“ ZFSģ ģķ“ ė“ė¶ģ ģ¼ė” ģ ģ„ė nfs4 aclź³¼ ģ ķøė¦¬ķ°ģģ ģģķė ķķ ģ¬ģ“ė„¼ ė³ķķė system.nfs4_acl
xattrģ ėķ xattr ģ²ė¦¬źø°ė„¼ ģ¶ź°ķźø°ė§ ķė©“ ė©ėė¤. NFSv4ė ģ“ź²ģ ģ ģ¼ķ ģė¹ģģ“źø° ėė¬øģ ģ»¤ėģ ģ°ė¦¬ź° ģ¬ģ©ķ ģ ģė ģ¼ė°ģ ģø źø°ė„ģ ģ ź³µķģ§ ģģ¼ėÆė” ģ“ ģøģ½ė©/ėģ½ė©ģ ģķķė źø°ė„ģ ģģ±ķ“ģ¼ ķ©ėė¤.
ķė©“ģ ģ¼ė” ģ“ ģģ ģ ģķķė ź²ģ“ ė§¤ģ° ź°ė„ķ“ ė³“ģ ėė¤. ź°ė°ģź° ģ“ źø°ė„ģ ė¤ė£Øź³ ģ¶ė¤ė©“ ģ¢ģ ź² ź°ģģ.
ģ“ ė¬øģ ė POSIX aclsź° źµ¬ķėģģ ė ģ¢ ė£ėģģ¼ėÆė” ķ¹ķ NFS4 aclsģ ėķ“ ģ ė¬øģ ė„¼ ė§ė¤ģ“ģ¼ ķ©ėź¹? ģėė©“ ģ“ź±ø ė¤ģ ģ“ģ“ģ¼ ķ ź¹ģ?
@ghfields ģ“ģ ėķ ģ ė¬øģ ė„¼ ģ“ āāģ ģģµėė¤. ź·øė¬ė©“ ģ¶ģ ģ“ ė ģ¬ģģ§ėė¤.
ź°ģ„ ģ ģ©ķ ėźø
Linux ģ¤ķģ¼ Posix ACLģ xattrė” źµ¬ķėģ“ ė§ģ¤ķ°ģ ė³ķ©ėģģµėė¤. źø°ė³ø NFS ACLź³¼ ė ė¦½ģ ģ¼ė” ģ ģ„ėė©° ģ¶©ėķģ§ ģģµėė¤. ģ“ źø°ė„ģ ķģ±ķķźø° ģķ“ ģ ė°ģ“ķ° ģøķø ģģ± acltype ģ“ ģ¶ź°ėģģµėė¤. ģµģģ ģ±ė„ģ ģķ“ acltype=posixacl ė° xattr=sa ė„¼ ėŖØė ģ¤ģ ķė ź²ģ“ ģ¢ģµėė¤. ģģøķ ė“ģ©ģ ģ ė°ģ“ķøė ė§¤ė“ģ¼ ķģ“ģ§ė„¼ ģ°øģ”°ķģģģ¤.