1. 程式人生 > >修改了Ubuntu下的/usr目錄許可權,導致不能使用sudo命令的修復

修改了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命令可以了。。。。。。。