
當我在網路上尋找這個特定錯誤時,每個錯誤都與 shell 腳本有關。我不斷在終端本身中收到此錯誤,因此我的家庭伺服器在不啟動進入救援模式的情況下完全無法使用。登入畫面有漏洞,無法回應正確或不正確的密碼。啟動後也顯示許多 [FAILED] 行。
當我為一個特定用戶配置「chroot監獄」並設定為rbash時,這一切就開始了,不幸的是,我丟失了配置它的程式碼行,這些程式碼在重新啟動時導致了一場徹底的災難。
當我在救援模式下發送命令時,例如“ldd /usr/bin/bash”,它將傳回錯誤。但是,某些基本命令不會發生這種情況(也許它卡在 /bin/sh 上?“$SHELL”在救援模式下返回 /bin/sh)
ldd /usr/bin/bash
bash: /usr/bin/ldd: /bin/bash: bad interpreter: No such file or directory
然而。我發現如果我在命令前面加上 bash,它會正確地返回它!例如 ”巴什ldd <選項"
bash ldd /usr/bin/bash
<relevant correct data>
這很奇怪。我已將每個使用者 shell 設定為 /bin/bash 但這沒有任何作用。我對家庭伺服器相對較新,並且有知識製作一些基本腳本並將它們設定為 crontab 或其他什麼,並且能夠從網路外部進行 ssh。但不幸的是,我對 chroot 監獄的設置並不完全了解,並且低估了它可能造成的破壞。我曾經關注過本教程當我意識到這導致我的伺服器在重新啟動時無法正常工作時,我已經將庫複製給了被監禁的用戶。我再次為沒有日誌表示歉意,因為我沒有預料到會發生這種情況,也沒有複製和貼上到底做了什麼。
謝謝。
答案1
解決了。
這只是一個關於 bin 的損壞的符號連結。謝謝 davidgo 為我指明了正確的方向,我猜這不是 bash,而是 bin。另一個用戶也對此發表了評論,但已被刪除,也謝謝您。
固定為:
ln -s usr/bin bin