Назад | Перейти на главную страницу

ec2-пароль пользователя для запуска sudo -H -u

Мне нужно запустить эту команду для инициализации гитоз:

sudo -H -u git gitosis-init < /home/ec2-user/id_rsa.pub

Но это просит меня ввести пароль для пользователя ec2:

$ sudo -H -u git gitosis-init < id_rsa.pub
[sudo] password for ec2-user: 

У меня нет пароля, так как для входа я использую файл ключей .pem по умолчанию.

Я знаю, что, вероятно, могу войти в систему как пользователь git и сделать это, но есть ли другой способ?

Обновить:

Используется Linux AMI 12.09 (микро-экземпляр), в регионе us-east-1 (Северная Вирджиния)

Как вы обнаружили, root пользователь может sudo любому другому пользователю, поэтому просто добавьте sudo спереди.

sudo sudo -H -u git gitosis-init < /home/ec2-user/id_rsa.pub

Пожалуйста, не бей себя слишком сильно.

Это мой текущий обходной путь:

  1. Первый вход как ec2-пользователь с файлом .pem

  2. Затем переключитесь на корень с участием sudo su

  3. Затем переключитесь на мерзавец пользователь с su git

  4. Затем запустите gitosis-init вот так:

    gitosis-init < path/to/id_rsa.pub
    
  5. exit из мерзавец пользователь, тогда exit из корень.


Примечание: я добавил мерзавец пользователь с только sudo adduser git

Вы хотите обновить /etc/sudoers чтобы вы могли запускать команды как git без запроса пароля.

Сначала отредактируйте sudoers файл:

$ EDITOR=my_favorite_text_editor sudo -E visudo

Добавьте следующую строку в конце *:

ec2_user  ALL=(git) NOPASSWD: gitosis-init

Затем вы можете использовать команду, которую вы использовали, но вам больше не будет предлагаться ввести пароль.


* Или вы можете добавить это в файл в /etc/sudoers.d, если она у вас есть.