運行“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 並不 100% 相同,UID 0 是繞過權限檢查的「特殊」ID。 root然而,該帳戶是映射的到 UID 0。
  8. SELinux/grsecurity 規則拒絕一切。 (感謝 Janne Pikkarainen!對這種煩惱有一點心理障礙。)
  9. 一個或多個二進位檔案受到損害。在這種情況下,您不能信任您正在運行的任何內容。

需要更多資訊才能真正了解正在發生的事情。

相關內容