假设两个具有不同主 unix GID 的人共享并需要频繁编辑同一个文件。用户不是彼此的主要 unix GID 的成员,但他们都是共同的第二组的成员。
接受的答案(以及其他发布的答案)这个问题建议在文件的父目录上设置sticky bit
,以便每当其中一个用户修改该文件时,这样的文件就不会获取用户的主要组 ID(即,他们声称,newgrp
每当其中一个用户想要修改该文件时,就无需在每个登录会话中调用编辑共享文件)
不过我想,这样的事情只能用钻头来完成setgid
。
来自维基百科:
在目录上设置 setgid 权限 (chmod g+s) 会导致在该目录中创建的新文件和子目录继承其组 ID,而不是创建该文件的用户的主组 ID(所有者 ID 永远不会受到影响,只会影响组 ID)。
为什么粘性位会对此有所帮助?
答案1
你是对的,正是 setgid 位具有这种效果。粘滞位对目录也有影响,但它是不相关的:这意味着只有文件的所有者才能删除它,而不是任何对目录具有写权限的人(想想/tmp
)。