运行“ls”的权限被拒绝

运行“ls”的权限被拒绝

我以 root 用户身份运行我的服务器,但是尽管如此,当我运行命令时ls仍然收到此错误:

bash: /bin/ls: Permission Denied.

我尝试使用 更改此文件的权限,chmod但权限也被拒绝。这是什么原因造成的?

答案1

造成这种情况的原因有多种。

  1. 文件系统已挂载noexec
  2. 文件系统损坏,需要使用 fsck 修复。
  3. 文件系统是外来的,权限转换不正确会导致权限被拒绝。
  4. 保存二进制文件的目录未设置执行位(导致遍历问题)
  5. 目录中的子目录未设置执行位(仅适用于二进制文件嵌套在多个目录中的情况)
  6. 二进制文件没有为您的用户 ID 或组 ID 设置读取和执行位。
  7. 尽管帐户名称显示为 ,但您实际上并不是 root (UID 0) root。虽然不太可能,但这种情况是有可能的。请注意,root并不完全等同于 UID 0,后者是绕过权限检查的“特殊”ID。 root然而,该帐户映射至 UID 0。
  8. SELinux/grsecurity 规则拒绝一切。(感谢 Janne Pikkarainen!对于这种烦恼,我有点困惑。)
  9. 一个或多个二进制文件已泄露。在这种情况下,您无法信任正在运行的任何东西。

需要更多信息才能真正了解正在发生的事情。

相关内容