我在我的用户下创建一个文件esolve
,然后su root
使用 chown 将其用户更改为 root 然后我返回到用户esolve
我注意到我仍然可以删除该文件,rm
为什么?
答案1
是否可以创建、重命名和删除文件并不取决于该文件的所有权和访问权限,而是取决于父目录的所有权和访问权限。
如果您对该目录具有写访问权限(在正常情况下,richacl 会更复杂),那么您可以执行此操作。例外的是具有粘性位(“其他”的“SUID”/“SGID”位,请参阅 参考资料man chmod
)的目录,其设置与/tmp
通常一样。在此类目录中,只有目录所有者或文件所有者可以执行此操作,其他具有写访问权限的用户则不能。
答案2
因为你可以删除该文件,所以如果你可以读取该文件,实际上你就拥有了“修改权限”
假设您有一个名为foo
“拥有者”的文件root
,并且该文件可由(每个人)读取you
,位于“拥有者”的目录下you
-rw-r--r-- 1 root root 4 May 11 12:34 foo
drwxr-xr-x 2 you root 4.0K May 11 12:34 ./
将该文件复制到新文件:
$ cp foo 酒吧
-rw-r--r-- 1 root root 4 May 11 12:34 foo
-rw-r--r-- 1 you you 4 May 11 12:36 bar
drwxr-xr-x 2 you root 4.0K May 11 12:36 ./
将文件“bar”编辑为您喜欢的任何内容
将“bar”移至“foo”
$ mv 酒吧 foo
-rw-r--r-- 1 you you 4 May 11 12:36 foo
现在您有了同名的新文件,但所有者当然不同。但这里的重点是内容已更改
您没有修改权限,但可以重命名/移动/rm。这样的设计实在是受不了!!