ubuntu用戶不在sudoers文件中問題
昨晚我在ubuntu下設置virtualbox虛擬機的時候,被要求要將用戶名加入vboxusers組中,我使用
[html]
sudo usermod -G 組名 用戶名
修改完之後,一切正常。可是重啟系統之後,在進行sudo的時候,系統提示:
[html]
用戶名 用戶不在 sudoers文件中,此事將被報告。
通過以下命令可以查看用戶名所在的組:
[html]
>cat /etc/group
類似於我:
[html]
giantchan:x:1000
giantchan:x:2311:vboxusers
也就是,我的用戶從root組被移動到了vboxusers組下,所以,無法通過sudo 來獲得root權限。經過檢查,我的系統的root權限並沒有被我激活。也就是說,無法通過su來切換到root賬戶。
解決方法有下面三個,我是通過第二個方法解決的:
1.通過su來修改/etc/group來重新獲取權限。如果你激活了root的權限,當然可以直接切換到root下來修改你的組配置。
[html]
>vim /etc/group
將vboxusers的用戶名那一行刪除,同時在你用戶名數字後添加":root"來將giatnchan重新加回root組。
然後修改/etc/sudoers
[html]
>vim /etc/sudoers
找到
root ALL=(ALL) ALL
行,按照上面的格式,將用戶名添加進去:
用戶名 ALL=(ALL) ALL
保存退出即可。
2.通過LiveCD來修改/etc/sudoers。
通過LiveCD直接進入系統,然後掛載系統盤到/mnt目錄下,修改 /etc/suders 和/etc/groups如上。
3.開機進入grub修改。
P.S.1
後面兩種情況是在你沒有激活過root賬戶的情況下使用的。建議在修復完成之後激活root賬戶以防不備:
>su passwd
添加root帳號密碼之後,就可以通過su來切換到root賬戶了。當然,root賬戶的密碼建議不要和你常用的用戶名密碼相同,防止混淆。
P.S.2
正確的往某一個用戶組裡面添加用戶的命令是:
sudo usermod -G 用戶組 -a 用戶名
相比較於
sudo usermod -G 用戶組 用戶名