当我在终端中输入sudo命令时,它会显示以下错误:
sudo: /etc/sudoers is owned by uid 1000, should be 0
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
我该怎么解决这个问题?
发布于 2014-08-19 19:12:36
将所有者更改为root:
pkexec chown root:root /etc/sudoers /etc/sudoers.d -R
或者使用visudo
命令来确保文件的一般正确性:
pkexec visudo
发布于 2020-09-17 19:30:42
另一个选项,在没有root
或ubuntu
用户的密码的情况下。我拥有丰富的所有权(比我想承认的还要多),最后我就这么做了:
sudo chown -R owner:group /
而不是这样:
sudo chown -R owner:group .
这几乎总是在运行Ubuntu的Vagrant管理的VirtualBox VM的上下文中,所以YMMV。到现在为止,我还没有得到一个好的解决办法,但这似乎很容易就行了。
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
chown -R root:root /etc/sudoers.d
chown root:root /etc/sudoers
chmod 440 /etc/sudoers
exit 0
修复完成后,可以删除/etc/rc.local中的命令。
发布于 2021-12-01 02:36:57
从
sudo chown myuser:myuser /etc/sudoers
chmod u+w /etc/sudoers
chmod u-w /etc/sudoers
sudo chown root:root /etc/sudoers
最后一个结果是"sudo: / etc /sudoers属于uid 1000,应该是0“等错误。我试着做sudo,这是我见过的建议,但我不认为根密码是设置好的,因此不起作用。
为了解决这个问题,我重新启动,放入根shell和2。
chown root:root /etc/sudoers
passwd root #for good measure, e.g., so su - root would work in the future!
重新启动,瞧。
注意:建议的pkexec命令在我最初试图修复问题时对我无效。在通过恢复模式根shell修复之后,我随后尝试了它,并弹出了一个GUI窗口,询问我的密码,它确实工作了,所以YMMV。
在解决了这个问题后,我重复了这些步骤,并且能够用平方恢复。
su - root
chown root:root /etc/sudoers
Rohlt建议的命令列表在我的情况下是没有必要的,但它们可能适用于其他情况。
https://askubuntu.com/questions/513523
复制相似问题