我必须运行这个命令来初始化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
请不要太过自责。
这是我目前的解决方法:
首先使用.pem文件作为ec2用户login
然后用sudo su切换到root
然后用su git切换到git用户
然后像这样运行gitosis-init :
gitosis-init < path/to/id_rsa.pub
从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文件中,如果有的话。