如何修复“用户不在sudoers文件中”错误?

2024年 3月 20日 67.3k 0

在Ubuntu及其衍生产品中,当你尝试以普通用户的身份执行Linux命令时,你可能会收到"sudo不在sudoers文件中"。这一事件将被报告为"错误"。此错误消息阻止普通用户在Linux系统上运行管理命令。

"sudoers文件中没有"错误的原因

此错误消息可能是由于我们列出的几个原因造成的:

  1. 如果您尝试使用“sudo”运行管理命令,但您在系统上的用户名未被识别为admin或没有执行此类命令的权限。
  2. 如果当前用户未包括在sudoers文件中。Sudoers文件是一个系统配置文件,其中包括允许运行“sudo”命令以执行管理任务的所有已识别用户和组的角色。因此,如果您的用户名未包含在此文件中,而您尝试使用“sudo”命令执行管理操作,则它会阻止您的访问,并在终端上显示“用户名不在sudoer文件中”的错误消息。

如何解决“用户不在Sudoers文件中”错误

有几种解决方案可以修复这个“用户名不在sudoers文件中”的错误,我们将在本节中讨论这一错误。

解决方案1:将用户添加到Sudo组

第一个解决方案是将用户添加到sudo组。如果用户尚未添加到sudo组。在"sudo"组中添加用户是很重要的;您应该拥有管理员或根权限。要查看sudoers文件内容,可以使用"cat"命令:

$cat/etc/sudoers

使用以下命令将用户名添加到sudo组:

#adduser username sudo

例如,我们有一个Ubuntu用户名为"samreenaaslam",我们添加到了sudo组:

#adduser samreenaaslam sudo

解决方案2:在sudoer文件中添加用户名

如果用户不在"/etc/sudoers"文件中,或者该文件被修改为停止向管理员或sudo组添加成员以获得超级用户权限,则在这种情况下,您可以将用户名添加到"/etc/sudoer"文件中。使用以下命令在文本编辑器中打开此文件:

#visido

$sudo visudo

现在,文件内容将显示在您的终端中。找到以下行并添加用户名以授予权限:

#用户权限规范

root ALL =(ALL:ALL)ALL

(全部:全部)全部

#管理员组的成员可以获得根权限

% admin ALL =(ALL)ALL

#允许sudo组成员执行任何命令

% sudo ALL =(ALL:ALL)ALL

#请参阅sudoers(5)了解更多关于"#include"指令的信息:

@ includedir/etc/sudoers. d

解决方案3:更改sudoers文件

此错误可能是由于缺少未设置为0440的文件权限。要设置"/etc/sudoers"文件的权限,请使用以下命令:

#chmod 0440/etc/sudoers

sudo chmod 0440/etc/sudoers

注意:如果您使用的是基于CentOS或RPM的发行版,请在轮组中添加用户以修复此错误并在各自的文件中进行更改。

结论

这就是解决"用户名不在sudoers文件中"错误的所有解决方案。如果您在Linux系统上遇到此类错误,尤其是在基于Debian的发行版上,请使用提供的方法来修复此错误。我们希望本指南能帮助您解决sudoer文件错误。

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论