У меня 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
Вы уже должны быть root на live cd и можете пропустить эту sudo
часть. Запустите, chown root:root /etc/sudoers
чтобы исправить. Альтернативно загрузитесь в recovery, чтобы получить root shell.
решение2
Я предполагаю, что вы сделали chown
копию на работающей системе. Вам нужно сделать это на установленной системе, путь, вероятно, будет . По крайней мере, если вы используете графический интерфейс для монтирования диска./media/something/etc/sudoers
В качестве альтернативы вы можете загрузить систему в режиме восстановления (это должно быть опцией в командной строке GRUB), что, как мы надеемся, даст вам root-оболочку, и в этот момент вы можете просто выполнить chown root:root /etc/sudoers
.
решение3
Если эта проблема не связана с особенностями запуска Live CD, как уже обсуждалось в других ответах, возможно, что-то не так с вашей учетной записью root.
Проверьте запись root в /etc/passwd. Третье и четвертое поля (разделенные двоеточием) должны быть оба 0; что-то вроде этого:
root:x:0:0:root:/root:/bin/bash
Если root каким-то образом получил UID 1000, то понятно, зачем chown root:root /etc/sudoers
устанавливать владельца на 1000. Тогда проблема становится в изменении UID учетной записи root на 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/*