2014-11-14 151 views
0

我意外地將我的/lib/移動到不同的目錄,導致無法運行任何基本命令(例如/斌/)。「sudo:必須是setuid root」但已具有root權限和's'權限

設置PATH到新目錄使用newpath/lib/ld-linux.so.2 --library path /newpath/lib /bin/mv

的命令但是沒有工作,所以我使出動態加載(?),我不能動我的/lib目錄目錄回來,因爲我缺乏權限。試圖運行sudo導致sudo: must be setuid root

在線看,每個問題都與/usr/bin/sudo有某種其他類型的權限或所有權有關。但是,我的sudo似乎有正確的權限(-rwsr-xr-x 2 root root),讓我感到困惑。我無權訪問which,但我相當確定/usr/bin/sudo實際上是被使用的,因爲它是PATH中的第一個目錄。

有誰知道還有什麼其他原因可能導致此問題?

+0

如果你在bash下運行,你可以使用'type sudo'來找出它正在執行的二進制文件。 – Kevin 2014-11-14 17:46:00

+0

它看起來很有趣...它有點像你殺了最後一隻雞,然後你怎麼把雞蛋拿回來。 – HuStmpHrrr 2014-11-14 17:53:25

回答

0

suid適用於執行,並且您未執行sudo

取而代之的是,您正在執行ld-linux.so.2,它僅打開sudo供閱讀。

+0

如何使用sudo權限運行我的命令? – alcathos 2014-11-14 18:42:34

+0

@alcathos如果您沒有現有的根shell或現有方式獲取不需要加載程序的方法,那麼您不能。如果您的最終目標只是修復系統,那很容易通過livecd完成。 – 2014-11-14 19:25:08