2010年12月28日 星期二

解決"sudo: must be setuid root"的問題

今天在自己的Linux桌機 (Ubuntu 10.10) 幹了一件傻事:
$ sudo chown -R adrian.adrian /usr/
結果導致使用sudo會有底下的問題:
$ sudo su
sudo: must be setuid root
這下可high了, Ubuntu在安裝的時候並沒有讓管理者設定root密碼, 所以無法使用root登入, 沒有root權限什麼事都不能做啊! 底下解決方式:

  1. 重新啟動Ubuntu,在grub選單中選擇有recovery mode的選項, Ex: "Ubuntu, with Linux 2.6.35-23-server (recovery mode)"
  2. 以recovery模式開機後, 會出現"Recovery Menu"選單, 選擇"root Drop to root shell prompt"選項就可進入root shell prompt。
  3. 利用ls -l觀看sudo資訊,所以是擁有此程式使用者的問題。
    -rwxr-xr-x 2 adrian adrian 147872 2010-09-01 04:39 /usr/bin/sudo
  4. 執行底下指令便可大功告成:
    # chwon root:root /usr/bin/sudo
    # chmod 4755 /usr/bin/sudo
    # reboot
  5. 最後還是乖乖地把/usr/重新設定回root。
    $ sudo chown root.root /usr/

【Reference】
[1] Ubuntu forum

沒有留言: