Не мог использовать команду sudo (Ubuntu 16.04.1 LTS)

Когда я ввожу sudo на терминале, я добираюсь:

sudo: unable to stat /etc/sudoers: Permission denied
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

Подробнее:

ls -ld / /etc /etc/sudoers
drwxr-xr-x  24 root root  4096 Dez 21 22:44 /
drw-rw-r-x 162 root root 12288 Jan 18 15:13 /etc
-r--r-----   1 root root   746 Jan 18 14:21 /etc/sudoers

pkexec visudo:

Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
4
задан 18 January 2017 в 21:23

2 ответа

Выполненный pkexec chmod 755 /etc зафиксировать это.

Как steeldriver предложенный, эта ошибка состоит в том потому что /etc имеет неправильные полномочия. Полномочия, показанные от ls -ld /etc должен быть похожим:

drwxr-xr-x

Но Ваш взгляд как:

drw-rw-r-x

Это предотвращает sudo от пересечения /etc к доступу /etc/sudoers.

"Разрешение отклонило" сообщение об ошибке, просто пытаясь получить метаданные по (т.е. к статистике), файл почти всегда означает, что файл отсутствует, или продвижение каталогов к нему не может быть пересечено, и когда Вы работали ls на файле это, как показывали, существовало.

Я протестировал это (на виртуальной машине) путем повреждения полномочий на /etc с chmod ug-x, и смог произвести Ваше точное сообщение об ошибке. (Вы не должны работать chmod с ug-x на нем - это - то, как я сознательно повредил полномочия, не, как зафиксировать их.)

Исправить полномочия на /etc, дайте пользователю и владельцам группы исполнимые полномочия. Отсутствие тех полномочий является причиной этой проблемы. Кроме того, по умолчанию /etc не нуждается во владельце группы, чтобы быть данным полномочия записи, поэтому если Вы не знаете о желании этого я рекомендую возвратить это также.

Эта команда сбросит /etc к полномочиям по умолчанию:

pkexec chmod 755 /etc

Это должно работать на Вас, так как Вы смогли выполнить другие команды как корень с pkexec. Другие пользователи, которые находят это поиском, будут обычно мочь зафиксировать его тот же путь, но для систем без pkexec (или где pkexec не будет работать), может быть необходимо загрузиться в режим восстановления или с живого CD/DVD/USB для фиксации полномочий. Вы не должны должны быть делать это, все же. Просто выполненный, что одна простая команда, и sudo должен работать снова.

4
ответ дан 1 December 2019 в 09:45

Может быть, это поможет, поскольку этот метод у меня сработал

Если вы не можете открыть свой файл через,

sudo vi /etc/sudoers

Сначала вы должны предоставить разрешения, указанные выше, с помощью [ Eliah] [1], а также

pkexec chmod 755 /etc

Затем попробуйте открыть файл sudoers с помощью

pkexec vi /etc/sudoers

Отредактируйте свои изменения, затем сохраните и выйдите. Попробуйте сейчас команду sudo,

sudo apt update 

Надеюсь, это поможет.

0
ответ дан 3 February 2020 в 09:25

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

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