优秀的编程知识分享平台

网站首页 > 技术文章 正文

Ubuntu系统用户无法使用sudo命令应该如何解决?

nanyue 2024-10-05 18:56:49 技术文章 18 ℃

请关注本头条号,每天坚持更新原创干货技术文章。

如需学习视频,请在微信搜索公众号“智传网优”直接开始自助视频学习

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,如果有更好的想法,请留言。

本文已同步至博客站,尊重原创,转载时请在正文中附带以下链接:
https://www.linuxrumen.com/rmxx/1822.html

点击了解更多,快速查看更多的技术文章列表。

Tags:

最近发表
标签列表