Я редактировал свой /etc/sudoers
файл и сохранил его, но там есть синтаксическая ошибка. Теперь я не могу, sudo vim /etc/sudoers
потому что sudo считает файл sudoers недействительным.
Как я могу это исправить?
Я редактировал свой /etc/sudoers
файл и сохранил его, но там есть синтаксическая ошибка. Теперь я не могу, sudo vim /etc/sudoers
потому что sudo считает файл sudoers недействительным.
Как я могу это исправить?
Ответы:
Загрузите систему в одном режиме, а затем отредактируйте ее.
Вы никогда не должны редактировать файл sudoers напрямую. Используйте visudo
- это защитит вас от этих синтаксических ошибок в будущем.
Для выхода из этой ситуации либо загрузитесь в однопользовательском режиме и отредактируйте файл, либо загрузитесь с livecd и сделайте то же самое.
Как отмечалось в этом аналогичном вопросе о Askubuntu , это вполне может работать без перезагрузки в однопользовательском режиме:
pkexec visudo
Если у вас установлен Docker, и ваш пользователь является членом docker
группы, вы можете легко выбраться из этого рассола (и некоторых других) без перезагрузки или чего-то еще:
$ docker run -it --rm -v '/etc/:/root/host.etc/' debian bash
apt-get update && apt-get install [vim|nano|whatever]
cd ~/host.etc/
exit
pkexec
также по какой-либо причине недоступно, то это обеспечивает альтернативный метод, без перезагрузки, который является почти таким же быстрым и простым.