![为什么我无法删除具有组写权限的文件?](https://linux22.com/image/1300115/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E6%97%A0%E6%B3%95%E5%88%A0%E9%99%A4%E5%85%B7%E6%9C%89%E7%BB%84%E5%86%99%E6%9D%83%E9%99%90%E7%9A%84%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我有一个具有以下权限的文件:
root:data
,并chmod
设置为775。
我的普通用户,我们叫他boby,在这个data
组中。
为什么我不能删除用户body的文件?
rwxrwxr-x 18 root 数据 4096 2011-12-30 22:02 存储 我的用户在组数据中,但无法写入存储
答案1
因为通过删除文件,您不仅修改了文件,还修改了其目录。
因此如果你的文件是:
rwxrwxr-x
你可以这样做:
cp /dev/null <filename>
但如果您的目录权限是:
rwxr-xr-x root data <directory name>
然后系统将阻止您删除该文件。
答案2
文件删除基于目录权限,而不是文件权限 (*)。
您对包含该文件的目录是否有写权限?
(*) 警告,您可以有一个目录,在其中强制只有文件的所有者才能删除它。这对于临时目录很有用。
答案3
如果包含目录不允许用户boby
或data
组对其进行写入,那么就能够解释这种行为。
答案4
我敢打赌您要删除的文件位于 /tmp 中。
/tmp 通常设置了“粘性”又称“限制删除”模式 (o+t)。设置此模式后,只有文件所有者可以移动或删除该目录中的文件,无论其权限如何。