我的文件夹拥有 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
查看正在使用的条目数以及可用的总数。