起因是這樣:
本來是想體驗一下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的用戶組好想還沒加進來呀...不管了 :-)