![Samba ACL 上的文件掩码计算 - 缺少 r](https://linux22.com/image/623347/Samba%20ACL%20%E4%B8%8A%E7%9A%84%E6%96%87%E4%BB%B6%E6%8E%A9%E7%A0%81%E8%AE%A1%E7%AE%97%20-%20%E7%BC%BA%E5%B0%91%20r.png)
我想详细询问一下 Samba 如何处理服务器上 ACL 上的权限。我确实非常努力和深入地研究过这个问题,但还是没有成功。我已经为此设置了 ACL 支持,但不管我怎么想,还是有一点缺失。让我在代码下面问一下。
我有一个目录 spolecne (这是 samba 共享):
# file: spolecne/
# owner: root
# group: root
user::rwx
group::---
group:amikon:rwx
mask::rwx
other::---
default:user::rwx
default:group::---
default:group:amikon:rwx
default:mask::rwx
default:other::---
samba共享设置为:
[spolecne]
path = /smb/spolecne
create mask = 0777
directory mask = 0777
public = no
writable = yes
valid users = @amikon
从 Windows 机器创建的条目如下所示(vanek 是 amikon 的成员):
# file: dir
# owner: vanek
# group: amikon
user::rwx
group::rwx
group:amikon:rwx
mask::rwx
other::rwx
default:user::rwx
default:group::---
default:group:amikon:rwx
default:mask::rwx
default:other::---
# file: file.txt
# owner: vanek
# group: amikon
user::rwx
group::-w- //read is missing
group:amikon:rwx
mask::rwx
other::-w- //read is missing
目录看起来符合预期。虽然默认目录掩码是 777,但我得到的是 777。我预料到了这种情况。
问题出在文件上。创建掩码为 777,我期望从组和其他中删除 x 位。但结果是 r 和 x 被删除了。
所以问题是你们能否向我解释一下为什么读取位被删除了???
我真的很感激任何帮助,因为我一生中最美好的时光都花在这上面。