Ubuntu: испортил файл sudoers, как я могу это исправить?
11
Я редактировал свой /etc/sudoersфайл и сохранил его, но там есть синтаксическая ошибка. Теперь я не могу, sudo vim /etc/sudoersпотому что sudo считает файл sudoers недействительным.
Спасибо, мне было интересно, что Visudo сделал по-другому. Мне нужно сейчас разобраться, как загрузиться в однопользовательском режиме. Моя Ubuntu работает под Virtualbox.
Фред Бассет
1
visudo заставляет вас редактировать копию файла sudoers. Он заменит файл sudoers только в том случае, если он проверяется при его сохранении. Он будет использовать редактор, указанный в переменной EDITOR, поэтому вы можете использовать предпочитаемый вами редактор. Его также можно использовать в режиме проверки, если вы отредактировали файл и хотите убедиться, что он все еще действителен.
BillThor
2
Как отмечалось в этом аналогичном вопросе о Askubuntu , это вполне может работать без перезагрузки в однопользовательском режиме:
Если у вас установлен Docker, и ваш пользователь является членом dockerгруппы, вы можете легко выбраться из этого рассола (и некоторых других) без перезагрузки или чего-то еще:
$ docker run -it --rm -v '/etc/:/root/host.etc/' debian bash
Docker? Вы видели Docker где-нибудь в оригинальном вопросе?
Охотник на оленей
2
Поскольку вопрос не определяет ничего об окружающей среде Аскер и теперь 2015, то есть довольно много людей имеют Docker установлен, я понимаю , ни ваше отношение ко мне , ни ваше презрение моего вклада. Совершенно очевидно, что кто-то еще в этой ситуации установил бы программное обеспечение, которое на сегодняшний день было отмечено 23,5 тысячами людей на GitHub. Если pkexecтакже по какой-либо причине недоступно, то это обеспечивает альтернативный метод, без перезагрузки, который является почти таким же быстрым и простым.
Ответы:
Загрузите систему в одном режиме, а затем отредактируйте ее.
источник
Вы никогда не должны редактировать файл sudoers напрямую. Используйте
visudo
- это защитит вас от этих синтаксических ошибок в будущем.Для выхода из этой ситуации либо загрузитесь в однопользовательском режиме и отредактируйте файл, либо загрузитесь с livecd и сделайте то же самое.
источник
Как отмечалось в этом аналогичном вопросе о Askubuntu , это вполне может работать без перезагрузки в однопользовательском режиме:
источник
Кстати, если у вас есть пароль root, просто войдите с ним и установите его обратно, как это было.
chmod 0440 / etc / sudoers
Это позволит избежать загрузки в однопользовательском режиме или, что еще хуже, загрузки с livecd.
В моем случае я не мог позволить себе отключить сервер.
источник
Если у вас установлен 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
также по какой-либо причине недоступно, то это обеспечивает альтернативный метод, без перезагрузки, который является почти таким же быстрым и простым.