use*_*765 16 linux permissions file-permissions
下面显示了一个文件,/tmp/testfile由user1拥有,组更改为还包括user2 的wheel。该文件具有该组的权限。那么该组的任何成员都不能删除它吗?下面的示例输出显示user2无法删除文件。为什么?rw
[user2@files ~]$ ls -l /tmp/testfile
-rw-rw-r-- 1 user1 wheel 0 Jul 18 18:54 /tmp/testfile
[user2@files ~]$ groups
user2 wheel
[user2@files ~]$ rm /tmp/testfile
rm: cannot remove `/tmp/testfile': Operation not permitted
Run Code Online (Sandbox Code Playgroud)
use*_*686 32
首先,您查看了错误的权限。当您移动/重命名/删除文件时,您只是在修改父目录- 不会检查文件自己的权限。您只需从目录的文件列表中删除一个条目。因此,您应该检查父目录的权限(在本例中为/tmp)。
$ ls -ld /tmp
drwxrwxrwt 15 root root 460 Jul 19 15:18 /tmp/
Run Code Online (Sandbox Code Playgroud)
二/tmp是特殊。在几乎所有系统上,任何人都可以写入 ( ugo=rwx),因此乍一看,似乎任何人都可以重命名或删除其中的任何文件。这当然会使为其他用户创建问题变得容易(甚至更容易),因此/tmp始终具有“粘性”又名“受限删除”模式集 ( o+t)。设置此模式后,只有文件所有者才能移动或删除该目录中的文件,而不管任何权限。
(在 GNU coreutils 上,chmod(1)手册页有一个关于“受限删除标志或粘滞位”的部分。)
| 归档时间: |
|
| 查看次数: |
19526 次 |
| 最近记录: |