修改了Ubuntu下的/usr目錄權限,導致不能使用sudo命令的修復

剛開始運行sudo時,報了下面這個錯誤

sudo: must be setuid root,於是上網找解決方法,搜索出來的都是這樣解決的    

ls -l  /usr/bin/sudo
chown 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命令可以了。。。。。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章