强制 Samba 共享上的子目录的文件权限

强制 Samba 共享上的子目录的文件权限

我已设置并运行一个 Samba 服务器,用于向在另一台 Samba 机器上运行的域验证用户身份。我不认为 Samba 是我的问题的一部分,但我正在努力做到彻底。我被要求为不同部门设置共享,文件夹结构如下:(以艺术部门为例)

艺术 公共 私人 保护

公开,任何人都可以读写 私有,只有 DOMAIN\Art 组中的人员可以进入,并且可以完全控制其中的文件 受保护,任何人都可以读取,只有 DOMAIN\Art 组的成员可以写入。

我在 samba 中设置了非常不受限制的共享权限,并试图用文件权限将其锁定。从 smb.conf:

[art]
comment = Art Dept files
path = /dat/art
browseable = yes
read only = no
valid users = @DOMAIN\everyone
read list =
write list = @DOMAIN\everyone
admin list = @DOMAIN\art', @'DOMAIN\Domain Admins

我已正确设置文件夹权限:(我认为)

drwxrws--- 2 root DOMAIN\art      4096 Jun  6 16:54 private
drwxrwsr-t 2 root DOMAIN\art      4096 Jun  6 17:09 protected
drwxrwsrwx 2 root DOMAIN\everyone 4096 Jun  6 16:55 public

基本上,公共和私有文件夹可以按照我想要的方式工作,但是,对于受保护文件夹,我遇到了一些问题。默认情况下,不在“domain\art”组中的用户只能读取该文件夹。他们无法创建新文档等。但是,如果正确组中的任何人创建文件或文件夹,则权限将设置为 744。因此,如果 User1 在 domain\art 组中,并在受保护文件夹中创建文件,则任何人都可以更改它。rwxrw-rw- 1 DOMAIN\User1 DOMAIN\art 4.3K Jun 6 17:09 newdb.txt

我如何强制该文件夹(受保护)传播该文件夹内所有新文件和子目录的权限 775?

我曾尝试设置粘滞位:

chmod g+s protected
chmod a+s protected 

但似乎没有帮助。还有其他想法吗?

答案1

几个月前我遇到了同样的问题;我可以通过使用访问控制列表指定默认权限来解决这个问题。

setfacl -d -m u::rwx folder
setfacl -d -m g::rwx folder
setfacl -d -m o::r-x folder

为了检查一旦完成使用

getfacl folder

挂载文件系统也需要添加到/etc/fstab(添加acl作为选项)。

/dev/VolGroup00/LogVol00 /                      ext3    acl,defaults    1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0

相关内容