为什么只知道文件的 inode 而无法访问文件而不搜索链接到该 inode 的文件?文件的硬链接(hard link)只包含一个名称和一个数字,告诉您在哪里可以找到包含文件所有真实信息的 inode 。当我被告知没有用户模式方式可以直接使用 inode 号打开文件时,我感到很惊讶。
这似乎是系统提供的一种无害且有用的功能。为什么没有提供?
最佳答案
安全原因——要访问文件,您需要对该文件的权限以及从根目录搜索所有目录的权限才能获取该文件。如果您可以通过 inode 访问文件,则可以绕过对包含目录的检查。
这允许您创建一个可以被一组用户(或一组组)访问的文件,而不是其他任何人——创建只能由用户访问的目录(每个用户一个目录),以及然后将文件硬链接(hard link)到所有这些目录 - 文件本身可供任何人访问,但实际上只能由对其链接到的目录之一具有搜索权限的人访问。
关于linux - 为什么文件不能被inode操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4606774/