我的客户端系统上有 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/*