Неспособный к статистике/etc/sudoers: никакой такой файл или каталог

Я использовал Ubuntu 14.04 только недавно. И так или иначе я изменил разрешение на /etc/sudoers файл. Так каждый раз, когда я выполняю любую команду с помощью sudo, я получаю эти ошибки:

sudo: unable to stat /etc/sudoers: No such file or directory
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

Я смог войти в систему как пользователь и возвратить полномочия. Таким образом, теперь, когда я работаю ls -l /etc/sudoers команда я добираюсь:

-r--r----- 1 root root 755 жов 14  2016 /etc/sudoers

Но я не смог сделать корень владельцем. И я все еще получаю те же ошибки, когда я пробую пользователю sudo.

Я считал много страшных вещей об этой проблеме. Таким образом, Вы могли помочь мне разрешить эту проблему? Я был бы очень благодарен за совет.

6
задан 16 April 2017 в 13:29

1 ответ

Ярлык:

dpkg-реконфигурируйте: Если только что-то неправильно с разрешением /etc/sudoers файл, с корневым выполненным доступом: dpkg-reconfigure sudo. что-то как pkexec dpkg-reconfigure sudo должен сделать работу.

visudo: Если dpkg-reconfigure не делает работ для Вас, затем просто работают pkexec visudo, sudoers файл будет открыт в редакторе, затем просто сохранит и закрывать файл, visudo исправит разрешение для Вас.

В конце концов, если Вы изменились sudoers.d полномочия каталога также, затем выполненный:

pkexec chmod 755 /etc/sudoers.d

Если файлы там, и их полномочия состоят в том, как это должно быть всего лишь, Вы все еще получаете это сообщение об ошибке, единственная возможность, которые входят в мой ум, состоит в том, что Вы повредили другие полномочия и sudo не имеет доступа к /etc/sudoers. самое возможное предположение является полномочиями /etc/.

Таким образом выполненный:

pkexec chmod 755 /etc

Мы сделаны, однако если Вы хотите подробную инструкцию восстановить поврежденный или удаленный sudoers файл с испорченными полномочиями следует вперед, мы собираемся использовать другой способ починить вещи.


Введение

Я бездельничал моему /etc/sudoers файл для получения подобной ошибки как Вас. Я становлюсь действительно близким, таким образом, я полностью удаляю мой, и это, стал точно как Ваш.

То, что я имею, сделало для устранения проблемы:

Моя корневая учетная запись была заблокирована, и Она не имела никакого пароля, таким образом, для меня было невозможно сделать то, что я хотел сделать. однако, если Ваш корневой счет активен и имеет пароль, переключатель пользователю root с su - и пропустите эту часть. в противном случае следуйте инструкциям.

Прежде, чем идти далее я должен упомянуть, что можно всегда использовать живой диск, чтобы сделать a chroot в Вашу систему существует много инструкции о chroot использование живого диска, таким образом, я не собираюсь беспокоить предоставлением всех их инструкция снова, вместо этого я собираюсь предположить, что у нас нет живого диска, и мы собираемся использовать то, что мы уже имеем, для устранения этой проблемы. Если Вы довольны cheroot пойдите тем путем, который сделал бы работу также.


Получение корневого доступа

  • Перезагрузите свою систему
  • Когда личинка появляется нажатие e для редактирования его
  • В конце строки, которая запускается с Linux, добавить init=/bin/bash
  • Нажмите CTRL+X

Теперь Вы будете брошены в оболочку удара с корневым доступом. сначала повторно смонтируйте файловую систему с доступом для записи:

mount -o remount,rw /

Затем разблокируйте пользователя root и установите пароль на нем:

passwd -u root
passwd root

Теперь, Если Ваш /etc/sudoers все еще существует на /etc, переместите его где-то в другом месте:

mv /etc/sudoers /etc/sudoers.broken

Поскольку мы собираемся сказать нашему диспетчеру пакетов, что этот файл отсутствует, и он собирается заменить его для нас с корректным, таким образом, это не должно быть там.

Мы почти сделаны, перезагружаем Вашу систему. войдите в систему как свой обычный пользователь, откройтесь, терминал затем пробуют su - переключаться в пользователя root. Я не смог сделать это, поэтому что я сделал, использовал CTRL+ALT+F1, для входа tty1, затем я вошел в систему как корень с новым паролем, который мы просто устанавливаем.


Возвратите sudoers

Мы просто должны переустановить sudo пакет, однако переустановка не возвращает этот файл, мы должны сказать dpkg исправить недостающие файлы конфигурации также, как это:

apt-get -o Dpkg::Options::="--force-confmiss" install --reinstall sudo

Помните, что это будет спрашивать Вас об установке /etc/sudoers файл, путем вставки y скажите да.

Если это не работало на Вас, сделайте столь же после как корень:

mkdir /root/tmp
cd /root/tmp
apt-get download sudo
dpkg-deb -x sudo*.deb .
cp etc/sudoers /etc/sudoers
cd /root
rm -r tmp

Теперь могут быть некоторые отличающиеся между полномочиями, работать dpkg-reconfigure sudo зафиксировать его. если это не работало, работает visudo как пользователь root, sudoers файл будет открыт в редакторе, затем просто сохранит и закрывать файл, visudo исправит разрешение для Вас.

Если все пойдет право, то Ваш sudoers файл вернется, и Вы сможете использовать sudo, как Вы были прежде.

6
ответ дан 23 November 2019 в 07:48

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

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