我想在独立的 samba 服务上配置共享,用户可以rw
访问自己的文件,但r
可以访问同一组中的其他人(rwx
以及rx
分别在文件夹上)。当用户创建新文件和目录时,它工作得很好,但在某些文件操作之后,文件变成了rwx
组,这是不可取的。
共享配置如下:
[share]
path = /mnt/asd/bsd
read only = yes
valid users = @agroup, auser
write list = @agroup
directory mask = 0755
create mask = 0644
force group = +agroup
复制、共享作为驱动器安装在 Windows 8.1 客户端上:
- 将 x.jpg 复制到 sare 中 - 到目前为止一切顺利,它变成了 644,由创建它的用户拥有,并且组也被强制执行
- 使用 Windows 照片查看器从共享中打开 .jpg,旋转它 - 文件在关闭后保存后变成模式 674 - 太糟糕了
- 右键单击>属性>安全选项卡仍然仅显示该组的“读取”权限,无法远程修复此问题。
当我在 Windows 中右键单击该文件并尝试编辑权限时,也会发生同样的情况。
/ # smbd --version
Version 4.2.9
是配置错误,还是有办法限制远程文件模式更改?尝试使用掩码或其他配置选项到目前为止没有运气。
答案1
找到了解决方案,看起来后台发生了一些 ACL 魔法,因此 samba 正确地将更改后的用户/组/其他 unix 模式设置为 7,以确保传播 ACL。
因此,无需担心,尽管使用 0674 模式,但该文件实际上并不是通过 ACL 强制进行组可写的。
可以通过 禁用每个共享的 ACL 支持nt acl support = no
。