Я отредактировал свой экземпляр Linux Amazon EC2 с помощью vim / etc / sudoers и попытался добавить в список еще одну учетную запись. Теперь я понимаю, что это была ужасная ошибка. Я больше не могу использовать sudo из любой учетной записи (что означает, что я не могу снова редактировать файл), и у меня нет пароля учетной записи root. Что я могу сделать, чтобы это исправить?
Спасибо.
Надеюсь, вы используете корневой том EBS. Если так, решение не так уж и сложно.
По сути, вы присоединяете том EBS к другому экземпляру, вносите изменения и повторно подключаете его к исходному экземпляру:
umount -d /dev/xvdh
или umount -d /dev/sdh
)/dev/sda1
) старого экземпляраПричина, по которой это работает, заключается в том, что на новом, новом экземпляре у вас есть соответствующие разрешения - его корневой том не поврежден, что делает файл sudoers из исходного экземпляра просто еще одним файлом, который вы можете редактировать.
Если у вас есть корневой том хранилища экземпляров, к сожалению, вы, вероятно, не сможете решить проблему, и вам придется вернуться к AMI, который вы создали ранее в качестве резервной копии.
Это зависит от того, является ли это корневым устройством AMI или EBS.
Если это AMI, и у вас нет пароля root, и AMI не настраивает доступ root SSH, то вы ничего не можете сделать.
Если это корень EBS, вы можете его прервать и подключить том к другому экземпляру (как дополнительный диск, а не корень). Затем вы можете получить доступ к данным или исправить файл sudoers и запустить новый экземпляр, используя том.
даже если instance-store является корневым томом, вы можете просто присоединить этот корневой том в качестве вторичного тома в другом экземпляре (например, / dev / xvdh), смонтировать его в какую-либо папку и внести изменения в sudoers.
Вот что я сделал, чтобы решить эту проблему -
Вуаля Теперь у вас есть новый работающий экземпляр с той же конфигурацией и IP.
Время заняло 30 мин.