我在 Ubuntu 机器上设置了一个共享文件夹。当有人连接到该文件夹并创建文件时,文件权限会将组设置为读/写。我可以在 Ubuntu 或 Windows 上检查权限,它们都显示该组具有读/写权限。
当用户尝试编辑另一个用户创建的文件时,就会出现问题。例如,用户 1 创建了一个文本文档。如果用户 2 连接到共享文件夹,他们可以打开该文本文档,但当他们尝试保存文件时,会出现错误,提示他们没有权限。每个用户也属于同一组。
我的 samba.conf 文件附加内容如下:
[foldername]
page = /home/path/to/directory
writeable = yes
browseable = yes
read only = no
valid users = user1, user2, user3, user4
答案1
另一个可能的解决方案是设置共享目录中的“setgid”位。这意味着在共享目录中创建的所有文件/目录将自动属于该组。如下所示:
chmod g+s <directory name>
您可能还必须在现有的子目录中执行此操作。将来,当创建新目录时,将自动为它们打开 setgid 位。
答案2
我刚刚按照这个测试了一下简单教程(“快速又肮脏”),我认为它不会错过,它对所有用户都完美无缺(我试过了)。关键是
create mask = 0777
directory mask = 0777
...它将按照您想要的方式处理权限。