我可以删除我在无法写入的目录中拥有的文件吗?

我可以删除我在无法写入的目录中拥有的文件吗?

我的文件夹拥有 mike:adm 的所有权,其权限为 770。请注意为零。

我的用户是 mirko,并且只是 mirko 组的成员

想象一下 root 用户将文件夹内文件的所有权更改为 mirko:mirko

我的用户无法 cd 进入该文件夹

我的用户可以对该文件执行什么操作?什么不可以,为什么?

我想我无法删除文件,因为我无法“x”并且无法“w”文件夹

但是我可以读写文件内容吗?

答案1

你不能从没有写权限的目录中删除文件 - 假设是一个普通的类 UNIX 文件系统。

重要的想法是文件需要三件事

  • 保存文件实际内容的数据块
  • 元数据保存有关文件的信息,例如所有者、修改日期、权限以及如何查找数据块。
  • 文件的名称以及如何查找元数据。

Unix 允许同一文件有多个名称。

目录几乎只是(file name component, pointer to meta-data).当您“删除”文件时,您所做的就是从目录中删除具有正确最终组件的文件对。当文件的所有名称都被删除后,数据块就可以重新使用。

由此可见,要“删除”文件,您需要能够更改目录。这需要对该目录的写权限。

请注意,删除文件或向文件添加附加名称不需要文件的任何权限,这只是对目录的操作。

背景

元数据存储在称为 的东西中i-nodes。目录中存储的“元数据指针”实际上是i-nodes磁盘上存储的数组的索引号。如今,阵列通常存储在磁盘上分散的一系列块中。您可以使用df -i查看正在使用的条目数以及可用的总数。

相关内容