【linux】Debian不能运行sudo的解决

一、问题:

sudo: 没有找到有效的 sudoers 资源,退出

sudo: 初始化审计插件 sudoers_audit 出错

二、可用的方法:

出现 "sudo: 没有找到有效的 sudoers 资源,退出" 和 "sudo: 初始化审计插件 sudoers_audit 出错",这表明系统无法找到有效的 sudoers 配置文件,因此无法执行需要管理员权限的命令。这样的错误信息通常表示 /etc/sudoers 文件存在配置错误或损坏。/etc/sudoers 文件是 sudo 程序的核心配置文件,它定义了哪些用户可以执行哪些命令,以及以何种权限执行。

要解决这个问题,你可以尝试以下步骤:

确保用户被添加到`sudo`组中:

bash 复制代码
adduser your_username sudo

检查 sudoers 文件是否存在: 首先,检查 /etc/sudoers 文件是否存在。可以使用以下命令来检查:

bash 复制代码
ls /etc/sudoers

并包含以下内容(通常默认会包括):

bash 复制代码
 %sudo   ALL=(ALL:ALL) ALL

如果文件不存在,则需要重新安装或修复 sudo 包。

在安装sudo之后,可以通过在用户目录下创建一个新的文件,并将其添加到sudoers。

具体步骤如下:

  • 打开终端,使用su命令切换到root用户。
  • 创建一个新的文件,例如/etc/sudoers.d/username,其中username是要添加sudo权限的用户名。
  • 在文件中添加一行,格式为username ALL=(ALL) ALL,其中username是要添加sudo权限的用户名。
  • 保存文件并退出。
  • 重新启动系统,然后使用新的用户名登录。

检查 sudoers 文件的权限 :确保 /etc/sudoers 文件的权限设置正确。sudoers 文件的权限应该设置为只有 root 用户可以读取和写入。可以使用以下命令来检查和设置权限:

bash 复制代码
su
chown root:root /etc/sudoers 
chmod 440 /etc/sudoers

备份文件 :在编辑 /etc/sudoers 文件之前,务必先备份该文件。可以使用 cp 命令进行备份:

bash 复制代码
su
cp /etc/sudoers /etc/sudoers.bak

使用 visudo 编辑 sudoers 文件 :visudo 是一个安全的方式来编辑 /etc/sudoers 文件。它会检查语法错误,并在保存后重新加载 sudoers 配置。

bash 复制代码
su
visudo

检查语法 :在编辑完 /etc/sudoers 文件后,务必仔细检查语法是否正确。一个常见的错误是忘记在行尾添加冒号 (:)。

检查审计插件 :错误信息中提到了 sudoers_audit 插件。你可以检查 /etc/sudoers.d/ 目录下的审计插件配置是否正确。如果这个目录下有配置错误,可能会导致类似的错误信息。

重启系统:有时候,简单地重启系统可以解决一些配置问题。

查看日志 :查看 /var/log/auth.log/var/log/secure(取决于你的系统)中的日志信息,可能会提供更多关于错误的线索。

**重新安装 sudo 包:**如果以上方法都无法解决问题,可能需要重新安装 sudo 包。在大多数 Linux 发行版中,可以使用包管理器来重新安装 sudo。例如,在基于 Debian 的系统上,可以使用以下命令:

bash 复制代码
su
apt-get install --reinstall sudo

请注意,编辑 /etc/sudoers 文件时要非常小心,因为错误的配置可能会导致系统管理员无法使用 sudo,或者授予不应该有的权限。

三、最终解决

重新安装sudo包。

bash 复制代码
su
apt-get install --reinstall sudo
相关推荐
西北大程序猿13 分钟前
单例模式与锁(死锁)
linux·开发语言·c++·单例模式
酷爱码34 分钟前
在 Linux 中修改 Apache HTTP Server(httpd)默认端口的完整指南
linux·http·apache
jiunian_cn37 分钟前
【Linux】Linux权限
linux·服务器·mysql
betazhou1 小时前
有没有 MariaDB 5.5.56 对应 MySQL CONNECTION_CONTROL 插件
linux·数据库·mysql·oracle·mariadb
烟雨书信2 小时前
Linux中MySQL的逻辑备份与恢复
linux·运维·mysql
wkj0012 小时前
QuaggaJS 配置参数详解
java·linux·服务器·javascript·quaggajs
藥瓿亭2 小时前
K8S认证|CKS题库+答案| 5.日志审计
linux·运维·docker·云原生·容器·kubernetes·cka
coder_lorraine3 小时前
【Linux系列】Linux用户大揭秘:从“公寓住户”到“社区管理员”的奇幻之旅
linux
藥瓿锻3 小时前
2024 CKA题库+详尽解析| 15、备份还原Etcd
linux·运维·数据库·docker·容器·kubernetes·cka
bbsh20993 小时前
WebFuture:Ubuntu 系统上在线安装.NET Core 8 的步骤
linux·ubuntu·.netcore·webfuture