Сломанный sudo на веб-сервисах amazon ec2 linux centOS
Поэтому я понятия не имел об опасности возиться с файлом /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 и я просто SSHing в поле, у меня нет физического доступа.
Вопрос, я полностью ввернут или есть возможный обходной путь? Это не Ubuntu, а CentOS. Теперь я тоже понимаю visudo
, но сайт, с которого я получил изменение, не упомянул об этом.
1 ответ
Однажды я испортил экземпляр точно таким же образом и смог восстановить его, смонтировав его том EBS из отдельного рабочего экземпляра. Есть много этапов:
- В консоли управления EC2 остановите свой экземпляр EC2.
- Перейдите на экран "Тома" и отсоедините проблемный том EBS от экземпляра.
- Запустите новый, свежий микроэкземпляр, используя стандартный AMI для Linux с параметрами по умолчанию (если у вас нет другого рабочего экземпляра)
- После запуска нового экземпляра подключите к нему проблемный том EBS.
- Тогда смонтируйте это
После подключения в качестве каталога вы сможете получить доступ к файловой системе проблемного тома из нового экземпляра и исправить sudoers
файл. Затем просто размонтируйте и отсоедините том и подключите его к другому экземпляру.