Я использовал 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.
Я считал много страшных вещей об этой проблеме. Таким образом, Вы могли помочь мне разрешить эту проблему? Я был бы очень благодарен за совет.
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
пойдите тем путем, который сделал бы работу также.
init=/bin/bash
Теперь Вы будете брошены в оболочку удара с корневым доступом. сначала повторно смонтируйте файловую систему с доступом для записи:
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
, затем я вошел в систему как корень с новым паролем, который мы просто устанавливаем.
Мы просто должны переустановить 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, как Вы были прежде.