遇到的問題如下:
- 在當前用戶下使用sudo來直接修改password等幾個文件,一旦修改了passwd,用戶名發生了變化,其他的用戶組、密碼等卻沒有對應的配置,就再進不了該用戶了。
- 忘記用戶密碼,不能進入ubuntu了。
- Ubuntu下普通用戶用sudo執行命令時報"xxx is not in the sudoers file.This incident will be reported"錯誤。
如果你遇到上述問題或者在用戶模式遇到類似問題,我們如何做呢?進入ubuntu的recovery mode獲取ubuntu的root權限來解決這些問題。
步驟如下:
1、 重啟電腦
2、 開機時,按esc鍵,進入一個Grub引導頁面,選擇 "Ubuntu 高級選項"之后,按 回車(Enter) 鍵進行確認選擇
Paste_Image.png
3、 選擇帶有"Recover mode"的菜單,回車
Paste_Image.png
4、 你將看到recover Menu的選項頁面,然后我們選擇"root drop to a root shell prompt",回車
Paste_Image.png
5、 在root權限下輸入命令
Paste_Image.png
6、 比如問題如Ubuntu下普通用戶用sudo執行命令時報"xxx is not in the sudoers file.This incident will be reported"錯誤,解決方法就是在/etc/sudoers文件里給該用戶添加權限,此時如果我們直接在輸入命令:
chmod u+w /etc/sudoers
則會報錯如下:
Paste_Image.png
此時我們在窗口中輸入命令:
mount -o remount,rw /
(這里該是重新掛載/etc分區,我的/etc是在根目錄下(ubuntu 用 / 表示,所以是對/目錄重新掛載為讀/寫),再輸入命令:
chmod u+w /etc/sudoers
Paste_Image.png
7、 編輯sudoers文件
vim /etc/sudoers
找到這行 root ALL=(ALL) ALL,在他下面添加xxx ALL=(ALL) ALL (這里的xxx是你的用戶名)
ps:這里說下你可以sudoers添加下面四行中任意一條
abc ALL=(ALL) ALL
%abc ALL=(ALL) ALL
testr ALL=(ALL) NOPASSWD: ALL
%test ALL=(ALL) NOPASSWD: ALL
第一行:允許用戶abc執行sudo命令(需要輸入密碼).
第二行:允許用戶組abc里面的用戶執行sudo命令(需要輸入密碼).
第三行:允許用戶test執行sudo命令,并且在執行的時候不輸入密碼.
第四行:允許用戶組test里面的用戶執行sudo命令,并且在執行的時候不輸入密碼.
撤銷sudoers文件寫權限,命令:
chmod u-w /etc/sudoers
Paste_Image.png
8、 根目錄重新掛載為只讀:
mount -o remount, ro /
9、 重啟計算機:
reboot