ubuntu 用户不在 sudoers文件中,此事将被报告。

时间:2025-05-06 07:26:08

RT.

昨晚我在ubuntu下设置virtualbox虚拟机的时候,被要求要将用户名加入vboxusers组中,我使用

sudo usermod -G 组名 用户名

修改完之后,一切正常。可是重启系统之后,在进行sudo的时候,系统提示:

用户名 用户不在 sudoers文件中,此事将被报告。

通过以下命令可以查看用户名所在的组:

>cat /etc/group

类似于我:

giantchan:x:1000
giantchan:x:2311:vboxusers
也就是,我的用户从root组被移动到了vboxusers组下,所以,无法通过sudo 来获得root权限。经过检查,我的系统的root权限并没有被我激活。也就是说,无法通过su来切换到root账户。
解决方法有下面三个,我是通过第二个方法解决的:
1.通过su来修改/etc/group来重新获取权限。如果你激活了root的权限,当然可以直接切换到root下来修改你的组配置。
>vim /etc/group
将vboxusers的用户名那一行删除,同时在你用户名数字后添加":root"来将giatnchan重新加回root组。
然后修改/etc/sudoers
>vim /etc/sudoers


找到
root ALL=(ALL) ALL
行,按照上面的格式,将用户名添加进去:
用户名 ALL=(ALL) ALL


保存退出即可。
2.通过LiveCD来修改/etc/sudoers。
通过LiveCD直接进入系统,然后挂载系统盘到/mnt目录下,修改 /etc/suders 和/etc/groups如上。
3.开机进入grub修改。此方法请参考下面的链接:
/tj/
——————————————————————————————————————————————————————————————
.1
后面两种情况是在你没有激活过root账户的情况下使用的。建议在修复完成之后激活root账户以防不备:
>su passwd
添加root帐号密码之后,就可以通过su来切换到root账户了。当然,root账户的密码建议不要和你常用的用户名密码相同,防止混淆。
.2
正确的往某一个用户组里面添加用户的命令是:
sudo usermod -G 用户组 -a 用户名
相比较于
sudo usermod -G 用户组 用户名


大家应该能够看得出参数的差别吧?