sudo: /usr/lib/sudo/sudoers.so 必须由 uid 0 拥有

sudo: /usr/lib/sudo/sudoers.so 必须由 uid 0 拥有

每当我尝试做任何需要密码的事情时,它都会返回以下信息:

u7ur7l3@ubuntu:~$ sudo
sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0
sudo: fatal error, unable to load plugins
u7ur7l3@ubuntu:~$

因此我无法从软件中心/包管理器安装任何东西,也无法在终端中运行任何需要密码的命令。我可以登录,但仅此而已。

我无意中更改了一些文件的权限,然后又更改了一些文件试图修复它 :/。现在我完全不知道该怎么办了。

当我尝试使用 pkexec 让 sudo 再次工作时发生了以下情况:

u7ur7l3@ubuntu:~$ pkexec chown root /usr/lib/sudo/sudoers.so
Error getting authority: Error initializing authority: Error calling StartServiceByName for org.freedesktop.PolicyKit1: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ExecFailed: Failed to execute program /usr/lib/dbus-1.0/dbus-daemon-launch-helper: Success 

u7ur7l3@ubuntu:~$ sudo ls
sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0 sudo: fatal error, unable to load plugins

为了更改权限,我使用 Root Actions 作为海豚服务/插件,因此历史记录不会显示权限更改。

我刚刚意识到声音根本不起作用了。当我进入 Phonon 时,我的默认设置和播放设备甚至都不存在。而且我没有关机选项,我只能注销或离开。

答案1

所有权至少一个重要的系统文件出现错误。这是一件坏事;如果这种情况发生在许多系统文件上(也许你在某个时候sudo chown用该标志运行了一个大命令-R?),它可能会导致许多其他系统错误和不稳定。所以如果你最近安装了 Ubuntu,你可能需要重新安装Adam Heathcote 建议

您无需重新安装即可解决此问题。相反,只需修复该文件的所有权即可。如果此后您收到有关其他文件的错误,您也可以修复它们(尽管您可能必须告诉我们错误消息是什么,这样我们才能告诉您如何修复它们)。

sudo不起作用,但是使用sudo之一方法为了管理员执行如下操作在 Ubuntu 上。另一个是波尔基特(以前称为 PolicyKit)。

运行此命令,该命令使用 Polkit(通过pkexec)将所有权改/usr/lib/sudo/sudoers.soroot(即 uid 0):

pkexec chown root /usr/lib/sudo/sudoers.so

然后再次尝试使用sudo。您可以运行一些简单的操作,例如,看看是否收到错误消息。sudo ls

最后,我建议运行history以显示您运行的所有命令。希望这将列出您运行的所有已更改权限的命令。假设sudo现在有效,我建议发布一个新问题,包括输出history,以获取撤消帮助全部您所做的文件所有权和权限更改。

如果pkexec也不起作用...

您尝试过pkexec,但没有成功。由于sudoPolkit 和 Polkit 都无法让您以 root 身份执行操作,因此您必须启动到恢复模式并获取 root shell。为此,请Shift在启动计算机时按住 ,以确保获得可见的 GRUB 启动菜单。选择包含以下单词的条目恢复模式(通常,您应该选择最靠近顶部且包含这些单词的那个。)然后您将看到一个菜单,其中有许多选项 - 选择要放入 root shell 的选项。

有关在恢复模式下访问 root shell 的详细说明如下:

获得 root shell 后,运行:

chown root /usr/lib/sudo/sudoers.so

如果收到有关文件或文件系统不可修改的错误,请以读写方式重新挂载:

mount -rw -o remount /

(重新安装的想法和方法的来源:这个几乎不相关的答案

然后运行该mount命令后,再次运行上述chown命令并查看它是否有效。

完成恢复模式后,您可以通过运行以下命令重新启动:

reboot

sudo然后应该工作,或者至少给一些其他错误。

最后,请注意,鉴于您显示的错误,许多文件现在可能具有错误的所有权或权限。如果您能通过这种方式找出您修改了哪些文件,那就太好了。例如,如果您能找出是几个特定文件夹中的所有文件,那么就可能可以纠正您最近遇到的所有问题。

重新安装绝对是一个选择,但特别是如果你改变的只是所有权(而不是权限,因为权限变化较大,所以重建起来比较困难),应该可以简单地将权限递归地设置回其原始所有者(通常可能是 root)并完全扭转损害。

重新开始sudo工作是第一步。希望上述技巧能帮助你做到这一点。

相关内容