使用ACL时,由Samba创build的文件始终设置为g + rwx

我正在使用ACL来启用对本地用户和samba用户的rw访问,并且注意到组权限始终设置为rwx。

这是在testing目录中设置的ACL:

ubuntu@server:/test$ getfacl . # file: . # owner: samba # group: samba user::rwx user:samba:rwx user:ubuntu:rwx group::rwx mask::rwx other::rx default:user::rwx default:user:samba:rwx default:user:ubuntu:rwx default:group::rwx default:mask::rwx default:other::rx 

通过Samba创build的文件将导致-rw-rwxr--+

 ubuntu@server:/test$ ls -l total 0 -rw-rwxr--+ 1 samba samba 0 Feb 19 03:40 file1 

为了隔离这个问题,我在smb.conf上设置了create mask = 0000

 /etc/samba/smb.conf : [Share] path = /test browseable = yes guest ok = yes read only = no map archive = no create mask = 0000 ubuntu@server:/test$ sudo systemctl restart smbd.service *Create file2 via Samba* ubuntu@server:/test$ ls -l total 0 -rw-rwxr--+ 1 samba samba 0 Feb 19 03:40 file1 ----rwx---+ 1 samba samba 0 Feb 19 03:41 file2 

通过在samba用户下创build一个文件,我们可以发现这不是ACL行为不当的情况:

 ubuntu@server:/test$ sudo -u samba touch file3 ubuntu@server:/test$ ls -l total 0 -rw-rwxr--+ 1 samba samba 0 Feb 19 03:40 file1 ----rwx---+ 1 samba samba 0 Feb 19 03:41 file2 -rw-rw-r--+ 1 samba samba 0 Feb 19 03:42 file3 

所以我们可以看到,这是samba设置g + rwx。

禁用ACL后问题消失:

 ubuntu@server:/test$ sudo setfacl -b /test ubuntu@server:/test$ sudo getfacl . # file: . # owner: samba # group: samba user::rwx group::rwx other::rx *Create file4 via Samba* ubuntu@server:/test$ ls -l total 0 -rw-rwxr--+ 1 samba samba 0 Feb 19 03:40 file1 ----rwx---+ 1 samba samba 0 Feb 19 03:41 file2 -rw-rw-r--+ 1 samba samba 0 Feb 19 03:42 file3 ---------- 1 samba samba 0 Feb 19 03:43 file4 

那么是否正确地断定在激活ACL的情况下,Samba会设置g + rwx? 这是一个错误,还是我错过了什么?

我搜遍了桑巴文档,并尝试了所有与权限相关的选项:创build掩码,强制创build模式,inheritance权限,映射存档,隐藏,只读,系统,并在无所事事可能造成这一点。