如何configurationSAMBA文件服务器是一个窗口看起来像?

我在Active Directory(W2k8R2 DC)环境中使用了openfiler设备。 我想尽可能使我的股票看起来像我的用户的Windows股份。 大多数事情都很好,但有些让我发疯。 ATM我最大的问题是使Windows客户端所见的ACL清晰:

Windows ACL编辑器 Windows ACL编辑器

正如你看到的, 每个 都有条目, 没有人CREATOR OWNERCREATOR GROUP 。 我知道所有这些条目都映射从我的POSIX ACL像所有者:组:其他。 对于大多数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 full control但没有得到任何不同的结果设置为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:rx mask::rwx other::--- default:user::rwx default:group::rwx default:group:l-pm-pmfs01-depot-c:rwx default:group:l-pm-pmfs01-depot-r:rx default:mask::rwx default:other::--- 

问题

您正在使用POSIX ACL映射进行Samba的ACL处理。 这是默认行为(现在已经很长时间了),但是如果您想要类似于Windows的ACL体验,则由于POSIX ACL缺less许多NTFS ACL的概念和权限,因此执行此操作时会出现错误总是不完整,“感觉不对”。

解决scheme

你在找什么,是vfs_acl_xattr 。 这是一种在扩展属性中存储function完整的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 

进一步阅读

https://wiki.samba.org/index.php/Shares_with_Windows_ACLs

如果你想得到一个在窗户的感觉,你应该做的如下,

如果使用linux acl或windows acl更改,则openfiler将覆盖。

要列出完整的完整访问权限,您不应该在组访问configuration部分中将主群组选项(对您试图列为完全访问权限的群组)进行检查。 相反,您只需单独检查RW选项。 检查主组选项一些其他组(在我的情况下,我已经检查了本地unix组)。

每个人,Apache,没有任何组织将被默认为从openfiler加载。 该文件夹不会真正被所有人访问。 只有允许的组可以访问,除非它不是公共访问文件夹。

如果您只在任何发行版中使用samba服务器,则可以使用linux acl来实现