sudo:/usr/bin/sudo 必須屬於用戶 ID 0(的用戶)並且設置 setuid 位
一、前言
這是一個神奇的錯誤,緣由是因為有人將/usr/bin/sudo的權限改為777或其他。
解決辦法:最終目的只有一個,想辦法執行chmod 4755 /usr/bin/sudo 和 chmod 755 /usr 語句
二、解決辦法
1.如果知道root密碼。
su登錄root用戶,執行命令chmod 4755 /usr/bin/sudo 執行命令chmod 755 /usr
2.不知道root密碼。
重啟機器,ubuntu下按esc或shift,進入recovery模式(即單人模式),進入后選擇root選項,有的會提示輸入root密碼。
(1).不需要輸入root密碼的情況下,執行如下兩條命令。
chmod 4755 /usr/bin/sudo
chmod 755 /usr
重啟的時候,進入ubuntu高級選項(有的系統是英文的,自己翻譯,大概是Advanced options for ubuntu這樣),之后能看到recovery 啥啥啥的,按e進入,找到linux /boot/vmlinuz-----\*** ro recovery nomodestset 這句話。
然后將ro recovery nomodestset啥啥啥一大串修改為 rw single init=/bin/bash,然后ctrl+x進入單人模式。
(此時,想要更改root密碼的輸入passwd <密碼>,之后再確認一次就更改成功了。)執行如下命令。
chmod 755 /usr
chmod 4755 /usr/bin/sudo
然后重啟查看。
三、題外
如果重啟之后,提示sudo:在加載插件“sudoers_policy”時在 /etc/sudo.conf 第 0 行出錯。
必須用root登錄(如果不知道密碼,用第2點第2條進行重置root密碼),卸載sudo並重裝就可以了。
ubuntu命令如下:apt-get remove sudo 執行apt-get install sudo。