【linux】Debian不能运行sudo的解决
一、问题:
sudo: 没有找到有效的 sudoers 资源,退出
sudo: 初始化审计插件 sudoers_audit 出错
二、可用的方法:
出现 "sudo: 没有找到有效的 sudoers 资源,退出" 和 "sudo: 初始化审计插件 sudoers_audit 出错",这表明系统无法找到有效的 sudoers 配置文件,因此无法执行需要管理员权限的命令。这样的错误信息通常表示?/etc/sudoers
?文件存在配置错误或损坏。/etc/sudoers
?文件是 sudo 程序的核心配置文件,它定义了哪些用户可以执行哪些命令,以及以何种权限执行。
要解决这个问题,你可以尝试以下步骤:
确保用户被添加到`sudo`组中:? ?
adduser your_username sudo
检查 sudoers 文件是否存在:首先,检查?/etc/sudoers
?文件是否存在。可以使用以下命令来检查:
ls /etc/sudoers
并包含以下内容(通常默认会包括):
? ?
?%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 用户可以读取和写入。可以使用以下命令来检查和设置权限:
su
chown root:root /etc/sudoers
chmod 440 /etc/sudoers
备份文件:在编辑?/etc/sudoers
?文件之前,务必先备份该文件。可以使用?cp
?命令进行备份:
su
cp /etc/sudoers /etc/sudoers.bak
使用 visudo 编辑 sudoers 文件:visudo 是一个安全的方式来编辑?/etc/sudoers
?文件。它会检查语法错误,并在保存后重新加载 sudoers 配置。
su
visudo
检查语法:在编辑完?/etc/sudoers
?文件后,务必仔细检查语法是否正确。一个常见的错误是忘记在行尾添加冒号 (:
)。
检查审计插件:错误信息中提到了?sudoers_audit
?插件。你可以检查?/etc/sudoers.d/
?目录下的审计插件配置是否正确。如果这个目录下有配置错误,可能会导致类似的错误信息。
重启系统:有时候,简单地重启系统可以解决一些配置问题。
查看日志:查看?/var/log/auth.log
?或?/var/log/secure
(取决于你的系统)中的日志信息,可能会提供更多关于错误的线索。
重新安装 sudo 包:如果以上方法都无法解决问题,可能需要重新安装 sudo 包。在大多数 Linux 发行版中,可以使用包管理器来重新安装 sudo。例如,在基于 Debian 的系统上,可以使用以下命令:
su
apt-get install --reinstall sudo
请注意,编辑?/etc/sudoers
?文件时要非常小心,因为错误的配置可能会导致系统管理员无法使用 sudo,或者授予不应该有的权限。
三、最终解决
重新安装sudo包。
su
apt-get install --reinstall sudo
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!