当前位置: 首页 > 面试题库 >

为什么文件不能被inode操纵?

慕容越泽
2023-03-14
问题内容

为什么只有知道文件的inode却不搜索链接到该inode的文件却无法访问文件?到文件的硬链接只包含名称和数字,告诉您在哪里可以找到有关该文件的所有 真实
信息的索引节点。当我被告知没有用户模式直接使用inode编号打开文件时,我感到很惊讶。

对于系统而言,这似乎是一种无害且有用的功能。为什么不提供?


问题答案:

某些操作系统 确实 具有该功能。例如,OS X需要它来支持Carbon File
Manager
,而在Linux上,您可以使用debugfs。当然,可以在任何UNIX上通过命令行通过来执行此操作find -inum,但是不能通过inode访问文件的真正原因是它不是特别有用。它 确实
绕过了文件权限,因为如果您可以在文件夹中读取文件,则无法读取或执行该文件,然后打开inode即可发现它。

它不是很有用的原因是您需要通过*stat()调用找到一个索引节点号,此时您已经 有了 文件名(或一个开放的fd)…或者您需要猜测该inum。



 类似资料:
  • 问题内容: 经过一整天的研究和尝试,我终于放弃了 纯AJAX的 上传文件(ps:本文如何与JQuery异步上传文件?埋了我的最后希望) 我的问题可能没什么意义,但是我仍然想知道为什么ajax(或XMLHttpRequest)不能处理这个问题?为什么文件不能像真正的httprequest那样传输? 问题答案: 出于安全原因,JavaScript无法读取本地文件,因此我们无法使用AJAX发送数据。 但

  • 这些变化中最显著的是: 将angular npm包从“~4.0.0”更新到“~4.2.0” 将tsconfig.json中的模块从“system”更改为“commonjs” 我不明白这是如何改变事情的,但它起作用了! 我发现这个资源说我需要阅读更多关于DI的信息,但从我的角度来看一切都很好。https://github.com/auth0/angular2-jwt/issues/88 如果将构造函

  • 我正在尝试测试我的贝宝沙箱帐户中的经常性付款。我跟踪了这个链接https://developer.paypal.com/webapps/developer/docs/classic/express-checkout/ht_ec-recurringpaymentprofile-curl-etc/ 我试了很多次,贝宝只显示这个消息。我怎样才能为我的沙箱帐户实现不出错的重复支付?

  • 算法有点棘手。它拒绝会导致分布不均匀的值(因为2^31不能被n整除)。一个值被拒绝的概率取决于n。最坏情况为n=2^30+1,拒绝概率为1/2,循环终止前的预期迭代次数为2。 算法: 代码测试和的情况。然后设置最高有效位,并将条件中的结果变为负值。 null

  • 我有一个方法,它接受源地址、目标地址和,然后它通过giver source文件夹,用ArrayList项检查每个文件,如果它们有相同的名称,那么它就用完全相同的文件夹结构复制目标(因此它需要文件夹)。在这里之前一切都有效。但如果ArrayList的项是文件夹名,则会出现错误。有些怎么找不到那个文件夹,然后出现错误。 在我的另一个mathchine中,我得到了同样的错误,但它是而不是。 所以任何让它

  • 在PhpStorm的最新版本(2018年)中,所以它在项目的2017年版本中,我有一个名为<code>User_model的文件。php</code>,并且PhpStorm不将其识别为php文件,而是将其识别成纯文本文件。 但它并不总是如此;我最近才注意到。 我意识到问题出在文件名中()。因为只要我更改文件名(例如,),该文件就会立即被识别为php文件。 是不是(< code>User_model