我已经设置了一个具有AD集成和启用ACL的文件系统的Samba 3主机.使用
Windows客户端我可以设置用户和组权限.
到目前为止,Samba只是映射到POSIX ACL的rwx权限,这阻止我在Windows上使用“修改”或“完全控制”权限.我还阅读了一些有关xattrs和ZFS ACL支持的内容.
解决方法
这就是我一直这样做的方式,不太清楚我在哪里读到这个.
为了使Samba共享上的大多数Windows ACL选项连接到AD,您需要同时启用POSIX ACL和XATTRS:
/dev/sda2 /samba ext3 user_xattr,acl 1 2
在你的smb.conf中,你需要启用idmapping,nt acls和属性映射,如下所示:
idmap uid = 16777216-33554431 idmap gid = 16777216-33554431 idmap backend = idmap_rid:<domain_netbios_name>=16777216-33554431 nt acl support = yes inherit acls = yes map acl inherit = yes map archive = no map hidden = no map read only = no map system = no store dos attributes = yes inherit permissions = yes
然后,您需要做的就是为共享定义管理员用户,并使用该用户编辑Windows中的安全设置.
[public] path = /share/Public public = yes writable = yes printable = no admin users = "DOMAIN\user"
唯一的问题可能与现有ACL(您“拒绝”root并将所有权转移给Windows用户)和未映射的用户组相关.
要手动映射组,您需要执行以下操作:
net groupmap delete ntgroup="Domain Admins" net groupmap delete ntgroup="Domain Users" net groupmap delete ntgroup="Domain Guests" net groupmap add ntgroup="Domain Admins" rid=512 unixgroup=root net groupmap add ntgroup="Domain Users" rid=513 unixgroup=users net groupmap add ntgroup="Domain Guests" rid=514 unixgroup=nobody
对于内置安全组.
然后为你的所有团体:
groupadd mygroup net groupmap delete ntgroup="mygroup" net groupmap add ntgroup="DOMAIN\mygroup" rid=1000 unixgroup=mygroup type=d