1. 前言
当我们使用普通账户登录Ubuntu,执行sudo命令时,系统提示:
某用户不在 sudoers 文件中。此事将被报告。
如何解决好呢?
2. 解决办法1:
系统提示admin不在 sudoers 文件中。此事将被报告。解决办法1:
在/etc/sudoers
配置文件中添加指定用户,使其有sudo的权限。
2.1 切换到root账号
su -
输入root密码。
先解除sudoers的写入限制
chmod u+w /etc/sudoers
2.2 安装vim
apt update && apt install vim -y
2.3 修改sudoers配置文件
vim /etc/sudoers
找到root ALL=(ALL:ALL) ALL
语句,在下面添加一行:
你的用户名 ALL=(ALL:ALL) ALL
退出时,vim使用!
强制写入保存
:wq!
为用户user01添加sudo权限
3. 解决办法2:
系统提示guest不在 sudoers 文件中。此事将被报告。解决办法2:
如果有多个用户需要有sudo权限,每次添加都要重复一次上面的操作,比较麻烦。
我们留意到/etc/sudoers
里有一行:
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
意思是,admin
这个组成员都可以获取root
权限
我们查询一下系统中有没有admin
这个组。
grep "^admin" /etc/group
没有任何输出即可证明当前系统没有admin
这个组,添加这个组。
3.1 添加组admin
groupadd admin
3.2 把用户添加到admin
组中。
命令:
usermod -G admin 用户名
比如:
usermod -G admin test
3. 验证
切换到test用户
su - test
查看test是否在admin组中
grep "^admin" /etc/group
输出结果
admin:x:1002:test
表明test用户在admin组中。
试试检查更新
sudo apt update
4. 结论
文件/etc/sudoers
定义了sudo
用户的权限。如果系统提示”test不在 sudoers 文件中。此事将被报告。”只需要修改这个文件即可,修改该文件还有一个命令visudo
,如果有更好的想法,请留言。
评论前必须登录!
注册