我收到sudo错误,如何解决此错误?
sudo: /etc/sudoers is mode 0777, should be 0440
sudo: no valid sudoers sources found, quitting
/etc/sudoers.d/README
时,该错误仍然可以说明sudo: /etc/sudoers is mode 0777, should be 0440
?
我收到sudo错误,如何解决此错误?
sudo: /etc/sudoers is mode 0777, should be 0440
sudo: no valid sudoers sources found, quitting
/etc/sudoers.d/README
时,该错误仍然可以说明sudo: /etc/sudoers is mode 0777, should be 0440
?
Answers:
在这篇文章之后:
应该出现一个黑色终端,此时您可以运行以下命令(您应该具有root特权):
chmod 0440 /etc/sudoers
您必须将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是模式0777,应该是0440 sudo:/ var / lib / sudo非所有者可写(040777),应该是模式0700 [sudo]的密码
通过以下步骤解决:
chmod 0440 /etc/sudoers.d/README
chmod 0700 /var/lib/sudo
这两个命令都应与上面概述的步骤一起使用。他们将更改与该文件关联的文件权限。0440将授予所有者(根)和组读取权限,而0700将授予所有者(根),读取,写入和执行权限。
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
sudo
第一个,第二个应该通过Live CD完成。
chmod 0440 /etc/sudoers
没有sudo的情况下运行,因为每个人都可以写sudoers?
启动进入恢复模式,选择根shell,然后:
chmod 0440 /etc/sudoers
或者,如果您不想重新启动,则可以使用以下替代方法:
pkexec chmod 0440 /etc/sudoers
pkexec chmod 0440 /etc/sudoers.d/README
它将更改权限。试试看,它将起作用。
chmod
要向其中一些文件440
发送0440
?你不应该0440
统一使用吗?以及为什么要更改/etc/sudoers.d/README
使用pkexec
方式的权限,而不能更改其他方式的权限?那其他可能的文件/etc/sudoers.d
呢?
您是怎么得到这些错误的?
如果您这样做:sudo chmod -R 777 /etc
,则需要Live CD来修复它。
/etc
,如果你已经把/etc
一个单独的分区)。这可以通过使用像鹦鹉螺或文件浏览器来完成地方菜单ls -l /media
。它可能名为ubuntu
或disk
。在接下来的步骤中,我假设ubuntu
。在终端中,默认情况下设置限制性权限:
sudo find /media/ubuntu/etc -type f -exec chmod g-wx,o-rwx {} \;
sudo find /media/ubuntu/etc -type d -exec chmod g-w,o-rwx {} \;
接下来,使用Live CD作为还原文件权限的参考点。以下命令将更改/etc/media/ubuntu
使用/etc
Live CD上的文件夹作为参考点的文件权限。它只会更改同一文件系统()上文件(-type f
)和目录(-type d
)的权限-xdev
。任何错误都会写入~/errors.log
错误,如“找不到文件”之类的错误表示已安装系统上的文件,但未在Live CD上找到。第5步中的命令应该为其设置正确的权限,但是为了获得最佳效果,最好重新安装软件包。
cd /media/ubuntu && sudo find etc -xdev \( -type f -o -type d \) -f -exec chmod --reference=/{} {} \; 2>~/errors.log
~/errors.log
某处安全(例如http://paste.ubuntu.com/),因此如果应用程序有任何问题,可以将其添加为此答案的注释。在Ubuntu中,您可以先点击Ctrl+ Alt+ T来打开终端。之后,您可以使用Ctrl+ 复制粘贴以下命令,C并使用Ctrl+ Shift+ 粘贴到终端中V。
pkexec chmod 0440 /etc/sudoers