Sudo не работает: “/etc/sudoers принадлежит uid 1000, должен быть 0”

Когда тип 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
20
задан 23 September 2015 в 03:33

3 ответа

Возвратите владельца для укоренения:

pkexec chown root:root /etc/sudoers /etc/sudoers.d -R

Или использование эти visudo команда для обеспечения общей правильности файлов (благодаря @KasiyA):

pkexec visudo
29
ответ дан 23 November 2019 в 01:51

если вы установили и имеете пароль root, сначала запустите следующую команду

$ su - root

, она запросит пароль 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/*
-1
ответ дан 29 February 2020 в 07:05

Еще один вариант, если у вас нет пароля для пользователей root или ubuntu. У меня были толстые пальцы (больше раз, чем я хотел бы признать), и в итоге я сделал это:

sudo chown -R owner:group /

вместо этого:

sudo chown -R owner:group .

Это почти всегда было в контексте виртуальной машины VirtualBox, управляемой Vagrant, с Ubuntu без головы, поэтому YMMV. У меня никогда не было хорошего решения до сих пор, но это, кажется, легко помогает.

Восстановить

  • Создать или отредактировать /etc/rc.local
    • ПРИМЕЧАНИЕ. Сделайте это как бродячий пользователь, не пытаясь установить права root.
  • Для этой задачи файл /etc/rc.local должен выглядеть следующим образом:
#!/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
  • Отключиться от SSH
  • Открыть диспетчер VirtualBox
  • Щелкнуть правой кнопкой мыши на рассматриваемой ВМ
  • Выбрать «Закрыть» => «ACPI». Завершение работы»
  • Запустите виртуальную машину из диспетчера VirtualBox, щелкнув правой кнопкой мыши запись виртуальной машины и выбрав «Пуск» => «Обычный запуск»
  • Подключение к виртуальной машине по SSH
  • Используйте восстановленный набор разрешений sudo для дочерних элементов / back to root:root

После установки исправления команды в /etc/rc.local можно удалить.

0
ответ дан 17 September 2020 в 19:30

Другие вопросы по тегам:

Похожие вопросы: