Linux-组成员无法删除具有rw权限的文件


15

下面显示了一个文件,该文件/tmp/testfileuser1拥有,其组更改为wheel,其中还包括user2。该文件具有rw该组的权限。因此,该论坛的任何成员都不能删除它吗?下面的示例输出显示user2无法删除该文件。为什么?

[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


除了@grawity的完整解释之外,一个好的解决方案是在以下位置创建您的“自己”目录tmp并解决粘性问题
fcm

Answers:


30

首先,您要查看错误的权限。移动/重命名/删除文件时,仅在修改父目录 –不检查文件本身的权限。您只从目录的文件列表中删除一个条目。因此,您应该检查父目录的权限(在这种情况下/tmp)。

$ ls -ld /tmp
drwxrwxrwt 15 root root 460 Jul 19 15:18 /tmp/

第二,/tmp很特别。在几乎所有系统上,任何人都可以写该文件(ugo=rwx),因此乍一看,似乎任何人都可以重命名或删除其中的任何文件。当然,这将很容易(很好,甚至更容易)为其他用户创建问题,因此/tmp始终设置为“粘性”或“限制删除”模式(o+t)。设置此模式后,无论任何许可权,只有文件所有者可以移动或删除该目录中的文件。

(在GNU coreutils上,chmod(1)手册页包含有关“限制删除标志或粘性位”的部分。)


由于第二点特殊的粘性许可,我也面临着同样的问题。我尝试将其删除chmod o-t /tmp,然后再次尝试删除该文件,但它仍然抱怨相同。
Shashank Agrawal'Mar

1
不仅文件所有者可以删除该目录下的文件,而且根目录和目录的所有者(例如/ tmp)也可以删除。
wulfgarpro 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.