错误:/etc/sudoers 不工作 - 所有权错误

错误:/etc/sudoers 不工作 - 所有权错误

我的客户端系统上有 Ubuntu 12.10。我有一个错误/etc/sudoers is owned by uid 1000 should be 0。我尝试从 Ubuntu Live CD 启动并尝试:

sudo chown root:root /etc/sudoers

sudo chmod 440 /etc/sudoers 

sudo chown 0.0 /etc/

但它不起作用。一直报错:

sudo : /etc/sudoers is owned by uid 1000 should be 0.

我该如何解决这个问题?

答案1

您应该已经是 live CD 的 root 权限并且可以省略该sudo部分。运行chown root:root /etc/sudoers修复。或者启动恢复以获取 root shell。

答案2

我猜你是chown在实时系统上复制的。您需要在已安装的系统上执行此操作,路径可能是.至少如果您使用 GUI 来安装驱动器。/media/something/etc/sudoers

或者,您可以将系统引导到救援模式(应该是 GRUB 提示符下的一个选项),这有望为您提供 root shell,此时您可以执行chown root:root /etc/sudoers.

答案3

如果这个问题不是运行 Live CD 的一个微妙问题,正如其他答案已经讨论过的那样,那么您的 root 帐户可能有问题。

检查 /etc/passwd 中的 root 条目。第三个和第四个字段(用冒号分隔)都应该为 0;像这样的东西:

root:x:0:0:root:/root:/bin/bash

如果 root 以某种方式获得了 UID 1000,那么为什么将所有权设置为 1000 就有意义了chown root:root /etc/sudoers。然后问题就变成了将 root 帐户更改为 UID 0,然后更困难的问题是确定 root 帐户为什么要更改。

答案4

首先运行以下命令

$ su -root

它会要求输入密码,然后一一运行以下命令

chown root:root /etc/sudoers 
chmod 440 /etc/sudoers
chown -R root:root /etc/sudoers.d
chmod  755 /etc/sudoers.d 
chmod  440 /etc/sudoers.d/*

相关内容