出于某种原因,当我尝试在命令行上使用 sudo 以 root 身份运行任何程序(我正在尝试运行 rootkit 猎人:rkhunter)时,如下所示:
sudo rkhunter
然后我收到此消息:
You must be the root user to run this program
然后我得到了这些行:
sudo: error in /etc/sudo.conf, line 0 while loading plugin 'sudoers_policy'
sudo: /usr/lib/sudo/sudoers.so must only be writable by owner
sudo: fatal error, unable to load plugins
我尝试输入 just sudo
,但出现了与上述相同的三个错误。此外,/etc/
sudo.conf 也不存在。
我无法通过 sudo 以 root 身份运行任何其他程序。这也很奇怪,因为我一天前还可以以 root 身份运行。我希望它能正常工作。
你知道,我是这台电脑的唯一用户,也是管理员,运行的是 Lubuntu 14.04.1。
答案1
如果你能以 root 身份登录:
$ su root #enter password
$ chmod 644 /usr/lib/sudo/sudoers.so
$ chown -R root /usr/lib/sudo
**
- 在 ubuntu 22.04 上,sudoers.so 的正确目录是 /usr/libexec/sudo/sudoers.so
**
如果没有,您将必须在恢复模式下启动,获取磁盘的写入权限,然后更改该文件的模式。https://wiki.ubuntu.com/RecoveryMode
$ mount -o remount,rw /
$ chmod 644 /usr/lib/sudo/sudoers.so
**
on ubuntu 22.04 the proper directory for sudoers.so is /usr/libexec/sudo/sudoers.so
**
答案2
首先打开终端然后输入
pkexec su
它将以 root 用户身份登录
现在输入(将用户名替换为您电脑的用户名):
chown -R username /usr/lib/
现在打开文件资源管理器并转到/usr
或在另一个终端中输入:nautilus /usr
现在,右键单击 lib 文件夹并转到“权限”选项卡。
从那里将“组”和“其他”的访问权限更改为“访问文件”
现在单击按钮“更改封闭文件的权限”,将“组”和“其他”的访问权限更改为“访问文件”或“只读”。
现在关闭该窗口并返回终端(具有root用户的终端)。
现在输入
chown -R root /usr/lib/
瞧!
现在您可以sudo
再次使用。
答案3
如果您无法以 root 身份登录,请以恢复模式启动 Ubuntu,从菜单中选择“Drop to shell prompt”,按 Enter,然后输入以下内容:
mount -o remount,rw /
mount --all
chmod 644 /usr/lib/sudo/sudoers.so
chown -R /usr/lib/sudo/
您现在应该能够运行“sudo”命令,包括这里,在恢复模式控制台中,例如,您可以运行sudo
来测试它是否已修复。
**
on ubuntu 22.04 the proper directory for sudoers.so is /usr/libexec/sudo/sudoers.so
**
答案4
我的问题通过以下步骤得到解决:
启动到我的 USB 设备
安装我的 Linux 硬件
访问了根目录
创建了一个这样的文件:
纳米/etc/sudoers
添加
根 ALL=(全部:全部) 全部
并保存
创建了另一个文件:
纳米/etc/resolv.conf
添加:
名称服务器 8.8.8.8
已保存
它立即起作用了
reboot
sudo -l
它给出了以下内容:(全部:全部)全部
我的 wifi 设置坏了,所以我使用手机的 USB 网络共享功能再次更新 wifi 驱动程序和软件包。
由于某种原因,我的设备不再使用 sudo 了,哈哈。现在,我可以在不使用 sudo 的情况下输入任何命令
附注:我开始工作时正在嚼口香糖,老板发来短信。压力很大,明天早上我需要修复项目。我忘了把口香糖放在笔记本电脑上,它粘在袖子上,很难弄出来。我试图在这个网站上注册一个账户,它拒绝了,显然是因为我的浏览器中没有 cookie。哦。