【问题标题】:Accessing raw file permissions(Linux)访问原始文件权限(Linux)
【发布时间】:2012-11-01 21:06:59
【问题描述】:

据我所知(如果我错了,请纠正我),Linux 将有关每个文件所有者和权限的信息存储在文件开头的几个字节中。

我知道有很多方法可以获取有关文件的信息(使用 shell 命令和 GUI),但我真正想知道的是是否有一种方法可以访问(查看)文件中的这些权限原始形式。

也许问这个问题更正确的方法是是否有办法查看完整的文件内容(我已经看到使用hexdump -C test.txt 的文件的二进制输出,但它仍然不包含那些)包括所有者/权限数据。

我猜这些信息只能以原始形式在深核代码中被访问,但我真的很好奇是否可以以不同的方式访问它。

【问题讨论】:

  • 你错了。所有者和权限是文件系统元数据的一部分,而不是文件内容的一部分。
  • 我赞同@EldritchConundrum 的解释。不过,您可能有兴趣将 depper 深入到文件系统的内部(而不是文件的内部)。您需要什么命令取决于文件系统。这样您就可以访问许多技术细节,但请注意,您也可能会损坏您的文件系统。
  • 我不确定我从哪里知道这些信息存储在文件本身中 - 我想我在网上误读了一些东西 :) 感谢您的提示,有一天当我有额外的时间时,我可能会更深入地研究文件系统及其工作方式:) 我问的原因之一是因为一旦我犯了chown -R myuser:mygroup / 的错误,它破坏了所有东西,我不得不重新安装。我仍然可以访问我的文件(从 Live CD),但无法有效地更改文件的权限...

标签: linux file-permissions


【解决方案1】:

>>据我所知(如果我错了,请纠正我),Linux 将有关每个文件所有者和权限的信息存储在文件开头的几个字节中。

不!

此信息未存储在文件中。它是文件系统存储的一部分。不同的文件系统会将二进制数据存储在不同的位置。有些文件系统会将信息存储在目录文件中。你应该阅读更多关于文件系统权限here, on Wikipedia

如果您想读取权限,因为它们通常是从目录列表中访问的,请查看ls command

如果您真的想要查看“原始”形式的“二进制”数据,请考虑使用 C 等编程语言打开和读取目​​录文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-17
    • 1970-01-01
    • 2018-10-20
    • 2014-10-02
    相关资源
    最近更新 更多