Samba可以支持完整的Windows ACL吗?


12

我已经设置了具有AD集成和启用ACL的文件系统的Samba 3主机。使用Windows客户端,我可以设置用户和组权限。

到目前为止,Samba只是映射到POSIX ACL的rwx权限,这使我无法在Windows上使用“修改”或“完全控制”权限。我还阅读了一些有关xattrs和ZFS ACL支持的信息。

有人可以暗示什么是超越POSIX ACL完全类似于Windows ACE的最佳方法吗?

Answers:


7

这就是我一直这样做的方式,不太确定我在哪里读到的。

为了使您的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

2
我会改变admin usersacl group control与集force group = +DOMAIN\Admin-group,这样你可以有多个具有管理员权限。
休伯特·卡里奥

4

如果您不需要实际可用的文件上的POSIX ACL(例如,当用户无法在本地登录Samba控制器时),则可以使用vfs拥有完整的NT ACL:

[全球]
  存储dos属性=是
[分享]
  vfs对象= acl_xattr

1

您将需要做两件事。

首先,您的文件系统必须支持ACL。这是fstab文件中启用ACL的一行示例,您的当然会有所不同:

/dev/mapper/VolGroup00-SambaVol /samba ext3 defaults,acl 0 0

完成此操作(并重新安装或重新启动)后,您将需要在smb.conf文件中启用nt acl:

[share1]
   path = /samba/share1
   nt acl support = yes
   writeable = yes

完成这两项并重新启动samba后,您应该具有正确的ACL。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.