使用 Linux 多年,发现自己有一些空闲时间,我决定重新审视一些基础知识。因此,我重新阅读了有关权限的内容(不检查源代码)及其文件夹的特殊情况,并提出了一种新的(至少对我而言......)考虑文件夹权限的方式(对于特定用户/ group/others):我将文件夹想象为一个包含两列的表格,如下所示:
filename | inode
foo | 111
bar | 222
Run Code Online (Sandbox Code Playgroud)
在读权限意味着可以阅读(列表)表的左栏中,写入权限对应于添加和删除条目表,和执行权限对应于能够从文件名到inode的转换; 即您可以访问文件夹的内容。
我做了一些实验,结果都符合我的这个“世界观”,但一个结论似乎是不可避免的:一个有权限的文件夹d-w-------,完全没用。详细说明:您无法列出其内容,您无法读取您知道其中存在的任何文件(因为您无法将名称翻译成 inode),您无法删除或重命名或添加文件,因为这又意味着翻译,你甚至不能添加硬链接(因为,我推测,这意味着添加一个名称和一个 inode 编号,这意味着你会知道两者,反过来,再次猜测,违反了取消设置执行权限的目的) . 当然,如果有是内部的一个这样的文件夹的文件,那么你就不能删除该文件夹或者,因为你不能删除其内容。
所以……我想问两个问题: