用于运行sudo -H -u的ec2用户密码

我必须运行这个命令来初始化gitosis :

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密钥文件进行login。

我知道我可以login为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. 首先使用.pem文件作为ec2用户login

  2. 然后用sudo su切换到root

  3. 然后用su git切换到git用户

  4. 然后像这样运行gitosis-init

     gitosis-init < path/to/id_rsa.pub 
  5. git用户exit ,然后从根目录 exit


注意:我只是用sudo adduser git添加了git用户

你想更新/etc/sudoers来允许你运行git命令而不需要密码。

首先,编辑sudoers文件:

 $ EDITOR=my_favorite_text_editor sudo -E visudo 

在末尾添加以下行*:

 ec2_user ALL=(git) NOPASSWD: gitosis-init 

然后,您可以使用您已经使用的命令,但不会再提示您input密码。


*或者你可以将它添加到/etc/sudoers.d文件中,如果有的话。