
Так что я понятия не имел об опасностях вмешательства в файл /etc/sudoers и просто пытался внести в него простое изменение. Однако, похоже, я поместил туда что-то с неправильным синтаксисом, что и вызвало эту проблему:
$ sudo
sudo: >>> /etc/sudoers: syntax error near line 122 <<<
sudo: parse error in /etc/sudoers near line 122
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
Я больше не могу редактировать файл /etc/sudoers, так как у меня нет прав root.
Одно из решений, которое я вижу в Интернете, — это использовать:
$ su -
и введите пароль root. Однако, этот ящик amazon ec2, похоже, НЕ ИМЕЕТ пароля root, что не позволяет мне использоватьsu -
Другое, что я вижу, это перезагрузка компьютера и выполнение некоторых действий для одного пользователя, которые позволяют сбросить пароль. Большая проблема в том, что это amazon ec2, и я просто подключаюсь к коробке по SSH, у меня нет физического доступа.
Вопрос, я совсем облажался или есть возможность обойти это? Это не Ubuntu, похоже, CentOS. Я также теперь понимаю насчет visudo
, но на сайте, с которого я получил изменения, об этом не упоминалось.
решение1
Я однажды точно так же испортил экземпляр и смог восстановить его, смонтировав его том EBS из отдельного рабочего экземпляра. Для этого нужно выполнить много шагов:
- Из консоли управления EC2 остановите экземпляр EC2.
- Перейдите на экран «Тома» и отсоедините проблемный том EBS от экземпляра.
- Запустите новый, свежий микроэкземпляр, используя стандартный Linux AMI с параметрами по умолчанию (если у вас еще нет другого работающего экземпляра)
- После запуска нового экземпляраприкрепите к нему проблемный том EBS
- Затемсмонтировать его
После монтирования в качестве каталога вы должны иметь возможность доступа к файловой системе проблемного тома из нового экземпляра и исправить файл sudoers
. Затем просто размонтируйте и отсоедините том и снова подключите его к другому экземпляру.