ubuntu 12.04.1 普通用戶丟失sudo權限 root沒有密碼 解決辦法


起因是這樣:
本來是想體驗一下acl,創建了兩個用戶,一個用戶組,並把原來的用戶一起加入到這個用戶組里

$ usermod +G acluser jck   <= 沒有加-a

悲劇就此發生了,usermod如果不加-a,是會把原來的附加組信息都擦掉重寫的
原來jck的附加組里面有samba,sudo等一系列用戶組,都沒有了,只有jck和acluser了
而且ubuntu默認是不設置root密碼的,至此,root權限和這台機器說拜拜了

解決辦法:

1.按照網上所說可以進recovery模式,不需要root密碼即可獲得root權限的shell,然后可以設置密碼

走一個:

重啟后(因為沒有root權限,所以是暴利的...),在grub選項(“如果GRUB菜單隱藏,可以按Esc調出,如果設置了GRUB密碼,按p來解鎖”,據說啊據說)選擇recovery mode,一般會是第二個,然后就出現上圖的內容,選擇root......那一項,會看到地下黑框框里的內容,輸入密碼或者按Ctrl+D。

到這里你會發現不行的(至少我是這樣),我沒有root密碼,Ctrl+D會返回到剛進入這個界面的情況...

難道改版本了?真是太不科學了,我放棄了這個方法。

2.修改grub啟動項的內容,進入單人維護模式

重啟,看到grub選項時,在正常進系統那個選項(通常是第一個)按“e”編輯,會看到如下內容,我的是這樣的

 

在光標所在一行(linux...那一行)添加如下內容

ro quiet splash rw single init=/bin/bash

將會變成下面這樣

然后Ctrl+x啟動,兩三秒中就會進入到一個root權限的shell里了,圖我忘了截了

然后你可以為所欲為,當然這里給root加個密碼就得了

# passwd root

設置完密碼系統會有提示,重啟(命令都是不好用的,直接Ctrl+Alt+DEL)

進入系統后,切換到root,找到這個文件“/etc/sudoers”,查看一下權限內容

# ll /etc/sudoers
-r--r----- 1 root root 745 Jan 17 17:03 /etc/sudoers

你懂得,把他改成可寫的

# chmod 640 /etc/sudoers
# ll /etc/sudoers
-rw-r----- 1 root root 745 Jan 17 17:03 /etc/sudoers

打開,找到“root    ALL=(ALL:ALL) ALL”,在下面添一行一模一樣的,用戶名換成你的

root    ALL=(ALL:ALL) ALL
cec     ALL=(ALL:ALL) ALL

保存退出,然后再把權限改回來就成了,在把root密碼注釋掉,我的系統就變成原來的樣子了

但是sudo的用戶組好想還沒加進來呀...不管了 :-)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM