无法从终端安装任何东西

无法从终端安装任何东西

我有 Ubuntu 16.04,每次我尝试使用终端安装应用程序(例如apt-get install git,)时,我都会收到此消息:

dpkg: error: requested operation requires superuser privilege
W: Could not open file '/var/log/apt/term.log' - OpenLog (13: Permission denied)
E: Sub-process /usr/bin/dpkg returned an error code (2)

所以我执行了sudo apt-get install git并得到了这个:

sudo: error in /etc/sudo.conf, line 0 while loading plugin 'sudoers_policy'
sudo: /usr/lib/sudo/sudoers.so must be only be writable by owner
sudo: fatal error, unable to load plugins

我该如何解决?

答案1

您的问题很可能是文件所有权和权限问题。您需要在没有 sudo 帮助的情况下成为 root 用户,然后使用 root 权限确保 root 拥有 /usr/lib/sudo/sudoers.so 并能够对其进行读写。

首先检查 root 是否拥有 /usr/lib/sudo/sudoers.so

ls -l /usr/lib/sudo/sudoers.so

您将想要看到:

-rw-r--r-- 1 root root [...] /usr/lib/sudo/sudoers.so

但是如果你没有看到“root root”,那就是问题所在。你必须在恢复模式下重新启动并执行以下命令。使用恢复模式的原因是默认情况下,ubuntu 不允许在没有 sudo 帮助的情况下直接以 root 身份登录。

进入恢复模式后,执行:

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

您还可以通过执行以下命令来确保设置了正确的权限:

chmod 644 /usr/lib/sudo/sudoers.so

您应该能够重新启动并再次使用 sudo。

查看https://askubuntu.com/a/637437因为您的问题似乎是具有类似答案的重复问题。另请查看问题sudo: /usr/lib/sudo/sudoers.so 必须由 uid 0 拥有使用恢复模式的另一种替代方法。

我通过将 /usr/lib/sudo/sudoers.so 的权限更改为我的用户(而不是 root)来检查此问题。结果,我得到了几乎与您相同的错误:

sudo: error in /etc/sudo.conf, line 0 while loading plugin 'sudoers_policy' 
sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0
sudo: fatal error, unable to load plugins

我还通过使 /usr/lib/sudo/sudoers.so 无法由 root 写入来检查。出于某种原因,这种更改并没有为我产生完全相同的错误,即使写入权限是您的错误消息给出的问题原因。但是,我没有重新启动进入恢复模式,因为在使 sudo 无法使用之前,我已经打开了 root 终端。aldwinaldwin 的回答帮助了我 https://askubuntu.com/a/637437

相关内容