Как получить пароль для sudo
Я пытаюсь использовать команду sudo -i -u postgres
для PostgreSQL, а VM Engine Compute Engine запрашивает у меня пароль для моей учетной записи (не root).
Поскольку я никогда не выдавал пароль, и я всегда заходил на свой сервер с помощью SSH-ключа, я не уверен, что такое пароль, как я могу reset его или где он может быть найден.
Скажите, пожалуйста, где я могу получить свой пароль?
Ответы
Ответ 1
Чтобы стать другим пользователем без полномочий root на GCE VM, сначала станьте root
с помощью пароля sudo
(так как sudo
настроен на изображениях GCE VM):
sudo su -
а затем переключитесь на пользователя, которого хотите стать, или выполните команду в качестве другого использования, например, в вашем случае:
sudo -i -u postgres
Ответ 2
Per https://cloud.google.com/compute/docs/instances,
Создатель экземпляра и любые пользователи, которые были добавлены с использованием метаданных Значение sshKeys автоматически является администратором учетной записи. возможность запуска sudo без необходимости ввода пароля.
Таким образом, вам не нужен этот несуществующий пароль - вам нужно добавить "с использованием значения метаданных sshKeys"! Канонический способ сделать это, и я цитирую с той же страницы:
$ echo user1:$(cat ~/.ssh/key1.pub) > /tmp/a
$ echo user2:$(cat ~/.ssh/key2.pub) >> /tmp/a
$ gcloud compute project-info add-metadata --metadata-from-file sshKeys=/tmp/a
или вы можете использовать консоль Google Developers для аналогичных целей, см. https://cloud.google.com/compute/docs/console#sshkeys, если вы этого предпочтете.