![運行“ls”的權限被拒絕](https://rvso.com/image/632752/%E9%81%8B%E8%A1%8C%E2%80%9Cls%E2%80%9D%E7%9A%84%E6%AC%8A%E9%99%90%E8%A2%AB%E6%8B%92%E7%B5%95.png)
我以 root 使用者身分執行伺服器,但儘管如此,當我執行命令時,ls
我收到此錯誤:
bash: /bin/ls: Permission Denied.
我嘗試更改此文件的權限,chmod
但該權限也被拒絕。這是什麼原因呢?
答案1
造成這種情況有幾個潛在的原因。
- 文件系統已掛載
noexec
。 - 需要使用 fsck 修復的檔案系統損壞。
- 檔案系統是外國的,權限轉換不當會導致權限被拒絕。
- 保存二進位檔案的目錄沒有設定執行位元(導致遍歷問題)
- 目錄中的子目錄沒有設定執行位元(僅適用於二進位檔案嵌套在多個目錄中的情況)
- 該二進位檔案沒有為您的使用者 ID 或群組 ID 設定讀取和執行位元。
- 即使帳號名稱顯示 ,您也不是真正的 root (UID 0)
root
。雖然不太可能,但這是可能的。請注意,它root
與 UID 0 並不 100% 相同,UID 0 是繞過權限檢查的「特殊」ID。root
然而,該帳戶是映射的到 UID 0。 - SELinux/grsecurity 規則拒絕一切。 (感謝 Janne Pikkarainen!對這種煩惱有一點心理障礙。)
- 一個或多個二進位檔案受到損害。在這種情況下,您不能信任您正在運行的任何內容。
需要更多資訊才能真正了解正在發生的事情。