Answers:
这就是我一直这样做的方式,不太确定我在哪里读到的。
为了使您的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(您“放弃”根目录并将所有权转让给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
如果您不需要实际可用的文件上的POSIX ACL(例如,当用户无法在本地登录Samba控制器时),则可以使用vfs拥有完整的NT ACL:
[全球] 存储dos属性=是 [分享] vfs对象= acl_xattr
admin users
对acl group control
与集force group = +DOMAIN\Admin-group
,这样你可以有多个具有管理员权限。