sudo 错误,是模式 0777,应该是 0440

sudo 错误,是模式 0777,应该是 0440

我收到 sudo 错误,如何修复此错误?

sudo: /etc/sudoers is mode 0777, should be 0440
sudo: no valid sudoers sources found, quitting 

答案1

第一个选项

下列的这个帖子

  1. 重启电脑
  2. 当出现 GRUB 启动选择屏幕时,选择恢复模式。(如果没有出现,请Shift在看到底部的 GRUB 加载程序时按下 键)。
  3. 应该会出现一个黑色终端,此时您可以运行此命令(您应该具有 root 权限):

    chmod 0440 /etc/sudoers
    

或者

您必须将 Ubuntu 放到 LiveCD 上,启动 LiveCD,将您的 Ubuntu 分区挂载到硬盘上(打开文件浏览器,如 Nautilus,然后单击您的 Ubuntu 分区;或单击位置->“xxGB 分区/您的 Ubuntu 分区”)。

然后,在 LiveCD 会话中打开一个终端并输入以下两个命令:

cd /media/<name of permanent ubuntu partition>/etc
sudo chmod 0440 sudoers

附加问题

如果有任何错误(如下所示),请按照错误提示并使用上述两个步骤之一相应地调整每个文件:

sudo apt-get update sudo: /etc/sudoers.d/README 的模式为 0777,应为 0440 sudo: /var/lib/sudo 可由非所有者写入(040777),应为模式 0700 [sudo] 密码

按照以下步骤修复:

chmod 0440 /etc/sudoers.d/README
chmod 0700 /var/lib/sudo

这两个命令都应与上述步骤配合使用。它们将更改与该文件关联的文件权限。0440 将赋予所有者(root)和组读取权限而 0700 将赋予所有者 (root) 读取、写入和执行权限。

答案2

sudo在这种情况下是坏的,但是pkexec(命令行前端PolicyKit)仍然有效,因此您只需一个命令即可修复它。无需重新启动。

pkexec chmod 0440 /etc/sudoers

假设已安装 PolicyKit。如果这是桌面系统(而不是没有 GUI 的服务器),则已安装。

答案3

启动到恢复模式,选择 root shell,然后:

chmod 0440 /etc/sudoers

或者,如果您不想重新启动,您可以使用这个替代方案:

pkexec chmod 0440 /etc/sudoers
pkexec chmod 0440 /etc/sudoers.d/README

它将更改权限。尝试一下,它会起作用。

答案4

在 Ubuntu 中,您可以先按Ctrl+ Alt+打开终端。之后,您可以使用+T复制粘贴以下命令,然后使用+ +粘贴到终端中。CtrlCCtrlShiftV

pkexec chmod 0440 /etc/sudoers

相关内容