我有一个FreeNAS(FreeBSD)系统,它有一个由ZFS文件系统支持的CIFS共享(称为“库”)。根据FreeNAS GUI设置共享以使用“Windows / Mac”ACL,我认为这意味着NFSv4 ACL。
这就是我希望基本ACL的方式:
nas# getfacl /mnt/big/library/test
# file: /mnt/big/library/test
# owner: DOMAIN\administrator
# group: DOMAIN\domain admins
owner@:rwxpDdaARWcCo-:fd----:allow
group@:rwxpDdaARWcCo-:fd----:allow
everyone@:r-x---a-R-c---:fd----:allow
从Windows 7 GUI中显示“DOMAIN \ administrator”和“DOMAIN \ Domain Admins”的“完全控制”,以及从共享的根继承的“Everyone”的“Read& execute”。 Windows甚至正确地将所有者识别为“管理员”。
我有两个问题,我认为可能与此有关。
首先,如果我在现有对象(文件或目录)上修改或创建ACE,Windows将替换 owner@
ACE一个用于 group:DOMAIN\administrator
在添加的情况下,它会为其创建一个组ACE group:DOMAIN\joe
为用户。我并不介意它认为用户是一个组(只要它有效),但是替换所有者ACE是一件痛苦的事情,因为现在如果我更改了对象的所有者,ACE将仍然存在于之前所有者。
第二个烦恼是在创建新对象时,ACL看起来像这样:
nas2# getfacl /mnt/big/library/test/New\ folder/
# file: /mnt/big/library/test/New folder/
# owner: DOMAIN\joe
# group: DOMAIN\domain users
owner@:rwxpDdaARWcCo-:fd----:allow
group@:rwxpDdaARWcCo-:fd----:allow
everyone@:r-x---a-R-c---:fd----:allow
虽然它似乎正确地继承了ACE,但它没有保留父目录的所有者或组。有没有办法用包含目录的属性创建它?
看着 setfacl联机帮助页 它指出:
-d The operations apply to the default ACL entries instead of access
ACL entries. Currently only directories may have default ACL's.
This option is not applicable to NFSv4 ACLs.
对我来说意味着NFSv4 ACL不支持默认ACE,这似乎是我需要解决的第二个问题。有谁知道这是否正确?