Nul*_*Set 22 unix linux filesystems inode
当您只知道其inode时,为什么不能访问文件而不搜索链接到该inode的文件?该文件的硬链接只包含一个名称和一个数字,告诉您在哪里可以找到有关该文件的所有真实信息的inode .当我被告知没有用户模式直接使用inode号来打开文件时,我感到很惊讶.
这似乎是系统提供的这种无害且有用的功能.为什么没有提供?
Chr*_*odd 19
安全原因 - 要访问文件,您需要对文件具有权限AS WELL AS权限从根目录搜索所需的所有目录以获取文件.如果您可以通过inode访问文件,则可以绕过对包含目录的检查.
这允许您创建一个可由一组用户(或一组组)访问的文件而不是其他任何人 - 创建只能由用户访问的目录(每个用户一个目录),然后硬 - 将文件链接到所有这些目录 - 文件本身可供任何人访问,但实际上只能由对其链接到的目录之一具有搜索权限的人员访问.
小智 18
有些操作系统确实有这种功能.例如,OS X需要它来支持Carbon文件管理器,在Linux上你可以使用它debugfs.当然,您可以从命令行通过任何UNIX在UNIX上执行此操作find -inum,但是您无法通过inode访问文件的真正原因是它不是特别有用.它确实可以绕过文件权限,因为如果有一个文件可以在一个你无法读取或执行的文件夹中读取,那么打开inode可以让你发现它.
它不是很有用的原因是你需要通过*stat()调用找到一个inode号,此时你已经有了文件名(或一个开放的fd)......或者你需要猜测它.
| 归档时间: |
|
| 查看次数: |
8859 次 |
| 最近记录: |