permissions – Samba忽略POSIX ACL

前端之家收集整理的这篇文章主要介绍了permissions – Samba忽略POSIX ACL前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个运行Samba的Ubuntu 10.04.4 LTS服务器,并使用PBIS(以前同样是开放的)加入我们的Active Directory域.Samba配置为使用AD用户/组进行身份验证,这是正常的.此外,使用Samba正常使用标准 Linux权限(用户,组,其他).但是,Samba似乎完全忽略了使用扩展ACL设置的任何权限.

我尝试了其他地方推荐的各种smb.conf配置,但似乎都没有任何效果.

机器设置:

>文件共享位于其自己的驱动器上.从/ etc / fstab为驱动器安装信息是:

> UUID = 372aa637-4b7b-45cc-8340-9d028893c196 / media / news-drive ext4 user_xattr,acl 0 2

>机器使用PBIS(以前同样开放)加入域
>共享的Samba配置是:

  1. [shared]
  2. comment =,nt acl support = yes
  3. admin users =
  4. force user =
  5. force group = \domain^users
  6. create mask = 0770
  7. directory mask = 0770

>全球Samba配置

  1. workgroup =
  2. dns proxy = no
  3. server string =
  4. load printers = no
  5. cups options = raw
  6. guest account = pcguest
  7. log file = /var/log/samba/%m.log
  8. max log size = 50
  9. security = ADS
  10. realm =
  11. socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
  12. interfaces = 172.16.0.20 10.4.1.20 127.0.0.1
  13. bind interfaces only = yes
  14. idmap uid = 16777216-33554431
  15. idmap gid = 16777216-33554431
  16. map to guest = Bad User

>我还在全局配置中使用了其中一些,但没有成功

  1. idmap backend = idmap_rid:=16777216-33554431
  2. nt acl support = yes
  3. inherit acls = Yes
  4. map acl inherit = Yes
  5. map archive = no
  6. map hidden = no
  7. map read only = no
  8. map system = no
  9. store dos attributes = yes
  10. inherit permissions = Yes
  11. template shell = /bin/false
  12. winbind use default domain = no

我在这里缺少什么,让Samba使用扩展ACL?

发生了什么的例子

我在samba共享中有一个文件夹.共享本身在我们的域中是开放的(“有效用户”设置被设置为AD域的“域用户”组.)在该共享中,我有一个文件系统级别具有更多限制权限的文件夹(拥有)由一个AD用户,该组设置为一个AD组,其中只有几个人,权限chmoded到770)

问题是,我需要将该文件夹的访问权限授予另一个AD组,因此我运行“setfacl -m u :: rwx”以授予其访问权限.这适用于Linux(如果我在其中一个用户ssh并导航到该文件夹​​)…但如果我连接到同一用户的SMB共享,​​并尝试导航到该文件夹​​,访问被拒绝.

解决方法

迟到这个问题,我仍然想指向官方的 Samba documentation for support of ACLs.这对于Samba 4.0.0以后是有效的,当问这个问题时肯定不可用.但是,由于问题在搜索引擎中弹出,这个链接可能会有所帮助.

基本步骤是:

1.
确保文件系统支持acls(现在ext4默认情况下,不需要额外的挂载选项)

2.
确保使用ACL支持编译Samba. (是的,默认情况下在Ubuntu 14.04 LTS上):

  1. smbd -b | grep HAVE_LIBACL

3.
通过在/etc/samba/smb.conf的[global]部分中设置以下内容来启用ACL:

  1. vfs objects = acl_xattr
  2. map acl inherit = yes
  3. store dos attributes = yes

有关详细信息,请访问与上述相关的官方文档.

猜你在找的Linux相关文章