问题描述
我收到sudo错误,如何解决此错误?
sudo: /etc/sudoers is mode 0777, should be 0440
sudo: no valid sudoers sources found, quitting
最佳方案
第一选择
以下this post:
-
重新启动电脑
-
显示GRUB引导选择屏幕时,选择“恢复模式”。 (如果没有出现,请在底部看到GRUB加载器时按
Shift
键)。 -
应该出现一个黑色终端,此时您可以运行以下命令(您应该具有root特权):
chmod 0440 /etc/sudoers
Alternatively
您必须将Ubuntu放到LiveCD上,启动到LiveCD上,将Ubuntu分区安装在硬盘上(打开文件浏览器,例如Nautilus,然后单击Ubuntu分区;或单击Places->“ xxGB分区/您的Ubuntu划分”)。
然后,在LiveCD会话中打开一个终端,然后键入以下两个命令:
cd /media/<name of permanent ubuntu partition>/etc
sudo chmod 0440 sudoers
额外的问题
如果有任何错误(如下所述),请按照错误提示进行操作,并使用上述两个步骤之一相应地调整每个文件:
sudo apt-get update sudo: /etc/sudoers.d/README is mode 0777, should be 0440 sudo: /var/lib/sudo writable by non-owner (040777), should be mode 0700 [sudo] password for
通过以下步骤解决:
chmod 0440 /etc/sudoers.d/README
chmod 0700 /var/lib/sudo
这两个命令都应与上面概述的步骤一起使用。他们将更改与该文件关联的文件权限。 0440将给予所有者(根)和组read permissions,0700将给予所有者(根),读取,写入和执行权限。
次佳方案
在这种情况下,sudo
已损坏,但是pkexec
(PolicyKit的命令行前端)仍然有效,因此您可以使用单个命令对其进行修复。无需重新启动。
pkexec chmod 0440 /etc/sudoers
假定已安装PolicyKit。如果这是台式机系统(而不是没有GUI的服务器),则为。
第三种方案
启动进入恢复模式,选择根shell,然后:
chmod 0440 /etc/sudoers
或者,如果您不想重新启动,则可以使用以下替代方法:
pkexec chmod 0440 /etc/sudoers
pkexec chmod 0440 /etc/sudoers.d/README
它将更改权限。试试看,它将起作用。