一 背景知識介紹
ubuntn系統的默認配置,超級用戶root的密碼是隨機的,如果沒提前對root用戶的密碼進行設置,
是不能直接通過root的身份來進行某些操作的,必須使用sudo命令,並通過普通用戶(假設是zeng)的密碼來切換。
例如: 輸入 sudo su - 命令,系統會如下提示
[sudo] password for zeng: ,
根據提示,輸入zeng用戶的密碼,即可切換到root用戶來使用系統。
同時通過groups zeng的命令可以查看到,默認下,用戶zeng也是屬於sudo用戶組的。
二 錯誤操作
昨天下午中,一時頭腦發熱,心想能否直接給予zeng用戶擁有超級用戶權限呢,
所以通過以下的命令操作:
sudo su -
usermod -G root zeng,//謹記,該命令使用是有問題的,
然后繼續犯錯誤,退出了root用戶,想對剛剛修改后的root用戶進行測試,看剛才的修改是否生效。
發現zeng用戶也沒有擁有的權限,同時sudo的權限也被弄沒了,也切換不到root用戶,直接切換時,
使用 su - ,會提示要輸入root的密碼。
三 嘗試方法一
查看資料,看能否通過修改/etc/sudoers文件的內容來增加zeng用戶使用sudo的權限。
發現沒有權限去修改該文件,修改/etc/passwd文件也沒有辦法。
四 嘗試方法二 修改root用戶密碼。
只能利用啟動ubuntu時進入到修復模式,重新設置root的密碼。
具體方法:
1 重新通電啟動系統,在系統剛啟動時,多次並及時的按“esc”鍵,進入到grub, 選擇修復模式選擇recovery mode。
2 進入到Recovery Menu界面,選擇 root Drop to root shell prompt 項,也就是提升到root權限。
然后按enter鍵繼續啟動。
3 啟動成功后,直接輸入 passwd 命令重新設置root的密碼。
4 重啟系統, 正常模式啟動系統。
5 利用zeng用戶登錄,使用 su - ,然后輸入root的密碼,切換到root用戶。
6 修改 /etc/sudoers 文件,增加一行 zeng ALL=(ALL:ALL) ALL 內容。
zeng ALL=(ALL:ALL)NOPASSWD:ALL 這一行表示不需要
7 切換回 zeng用戶,可以測試 sudo 命令恢復正常了。
網上有些文章提議方法是:
在啟動時在第一步時,修改grub啟動項的內容,增加 quiet splash rw init=/bin/bash,啟動進入到linux系統后,再使用passwd命令修改密碼。
我個人不建議使用該方法,不方便。