我想为两个用户共享一个文件夹,这是我所做的:
- 创建组
- 将用户添加到组
- 设置模式
- 设置 chown
- 设置 setgid 2775
- 重启
在那之后:
echo test > /Common/testfile
-> 组可读写使用 Nautilus 创建文件 -> 组可读,但不可写
使用 Nautilus 复制文件 -> 组可读,但不可写
使用 gedit -> group 可读可写创建文件
为什么?这是错误吗?这是在干净的 Ubuntu 10.10 安装上发生的。
答案1
如果你想要获取文件夹内每个文件的特定权限,使用 ACL 可能是最可靠的方法:
chgrp YOUR_GROUP_NAME /Common
chmod g+s /Common
setfacl -d -R -m group:YOUR_GROUP_NAME:rwx /Common
setfacl -R -m group:YOUR_GROUP_NAME:rwx /Common
使用 ACL,文件系统权限就无关紧要了。您的程序可以设置文件系统权限(例如,只读或组无权限)。
文件夹的 SGID 位仅强制设置组名,但不是权限。