Windows ACL编辑器
如您所见,Everyone,nobody,CREATOR OWNER和CREATOR GROUP都有条目.我知道所有这些条目都是从我的POSIX ACL映射的,如owner:group:other.对于大多数Windows用户来说,这只会令人困惑,尤其是每个人都会让一些人感到困惑,因为他们认为每个人都可以访问.我怎样才能摆脱这些条目,只是:
> G-PM-PMFS01-ADM =>完全访问
> L-PM-PMFS01-DEPOT-C =>更改/修改
> L-PM-PMFS01-DEPOT-R =>只读
L-PM-PMFS01-DEPOT-R是唯一完全正确的组. G-PM-PMFS01-ADM列出了特殊功能,但它具有完全访问权限,因为它是POSIX中的“主要组”. L-PM-PMFS01-DEPOT-C列出了完全访问权限,因为它在POSIX上有rwx.我试图改变acl map完全控制但没有得到任何不同的结果将其设置为false.
所以我的问题是,我应该在我的smb.conf中设置一个几乎100%的窗口外观(和感觉) – 类似samba的文件服务器?
我知道这在某种程度上可能来自EMC或NetApp的商业产品,所以我认为应该有办法.
当前共享smb.conf的一部分
[depot] comment = depot path = /mnt/vg1/v001/depot read only = no writeable = yes oplocks = yes level2 oplocks = yes force security mode = 0 dos filemode = yes dos filetime resolution = yes dos filetimes = yes fake directory create times = yes browseable = yes csc policy = manual veto oplock files = /*.mdb/*.MDB/*.dbf/*.DBF/ veto files = /*:Zone.Identifier:*/ create mode = 0770 directory mode = 2770 printable = no guest ok = no hosts allow = 172.16.10.0/24 172.16.30.0/24 172.16.10.0/24 hosts readonly allow = store dos attributes = yes map acl inherit = yes inherit acls = yes inherit owner = yes inherit permissions = yes
当前的getfacl:
# file: mnt/vg1/v001/depot/ # owner: nobody # group: g-pm-pmfs01-adm # flags: -s- user::rwx group::rwx group:l-pm-pmfs01-depot-c:rwx group:l-pm-pmfs01-depot-r:r-x mask::rwx other::--- default:user::rwx default:group::rwx default:group:l-pm-pmfs01-depot-c:rwx default:group:l-pm-pmfs01-depot-r:r-x default:mask::rwx default:other::---
解决方法
您正在使用POSIX ACL映射进行Samba的ACL处理.这是默认行为(现在已经很长时间了),但是如果你想要类似Windows的ACL经验,那就是做错了,因为POSIX ACL缺少NTFS ACL的许多概念和权限所以映射将总是保持不完整,“感觉不对”.
解决方案
您正在寻找的是vfs_acl_xattr.这是一种在扩展属性中存储功能完整的NTFS ACL而不是尝试将它们映射到POSIX ACL的方法.
缺点是相应的xattr仅由Samba评估,因此互操作性正在受到影响 – 通过Samba设置的ACL不再与Linux主机看到的内容同步(并且可能通过其他方式暴露,如NFS),反之亦然 – 操纵Linux ACL不会修改NTFS ACL.
Codez
[global] vfs objects = acl_xattr map acl inherit = Yes store dos attributes = Yes
进一步阅读