剛開始運行sudo時,報了下面這個錯誤
sudo: must be setuid root,於是上網找解決方法,搜索出來的都是這樣解決的
ls -l /usr/bin/sudochown root:root /usr/bin/sudo
chmod 4755 /usr/bin/sudo
reboot
我測試後的結論是,這個方法是可行的,但沒有說清楚,需要有root的執行權限,如果不能以root身份登陸,
則需要進入到recovery模式,進入方法爲:在開機的過程中按shift或ESC鍵,我ubuntu12.04系統是shift鍵。
然後在grub菜單中選擇第二個啓動項,進入到下一個選擇列表界面後,再選中有root字樣的一項,按回車,
此時,已經進入到具有root權限的字符界面。輸入上述命令,如果問題已解決,那大功告成,可以跳過下面內容
我又遇到一個新問題,在此字條界面輸入上面的
chown root:root /usr/bin/sudo
chmod 4755 /usr/bin/sudo時,執行失敗,
提示read-only file system,然後又上網找,找了N久,測了很多方法,最後找到一個重新掛載/目錄以及指定其讀寫權限的命令。命令如下:
mount -o remount,rw /
網址:http://www.linuxquestions.org/questions/linux-general-1/cannot-edit-fstab-in-recovery-mode-filesystem-is-read-only-540195/
然後再輸入上述命令
chown root:root /usr/bin/sudo
chmod 4755 /usr/bin/sudo
可以了,執行成功。輸入ls -l /usr/bin/sudo驗證修改是否成功,結果顯示已經修改了。
以爲問題解決了,高興的輸入reboot命令重啓。
悲吹的一幕出現了,輸入sudo還是有問題,
提示“sudo: /usr/lib/sudo/sudoers.so must be only be writable by owner”,又得開始google了,
找到一個方法是說輸入命令:(當然要進入recovery模式)
pkexec chmod go-w /usr/lib/sudo/sudoers.so
網址如下:http://blog.csdn.net/huangmou37/article/details/8259724
但我輸入該命令時,執行失敗,忘了提示什麼錯誤信息了。
該問題的原因爲自己錯誤的修改了/usr目錄下的所有權限,那上述命令是不是更改回來的權限不夠呢
於是想到了修改 /usr/lib/sudo/sudoers.so文件的權限,輸入命令
chmod 4755 /usr/lib/sudo/sudoers.so
然後reboot,輸入sudo命令可以了。。。。。。。