我必须运行此命令来初始化吉托西斯:
sudo -H -u git gitosis-init < /home/ec2-user/id_rsa.pub
但是它要求我输入 ec2-user 的密码:
$ sudo -H -u git gitosis-init < id_rsa.pub
[sudo] password for ec2-user:
我没有密码,因为我使用默认的 .pem 密钥文件登录。
我知道我可以以 git 用户身份登录并执行此操作,但还有其他方法吗?
更新:
使用 Linux AMI 12.09(微实例),位于 us-east-1 区域(弗吉尼亚北部)
答案1
正如您所发现的,root
用户可以sudo
成为任何其他用户,因此只需sudo
在前面添加一个额外内容即可。
sudo sudo -H -u git gitosis-init < /home/ec2-user/id_rsa.pub
请不要太过责怪自己。
答案2
这是我目前的解决方法:
首次登录为ec2-用户使用 .pem 文件
然后切换到根和
sudo su
然后切换到git用户与
su git
然后
gitosis-init
像这样运行:gitosis-init < path/to/id_rsa.pub
exit
从git用户,然后exit
从根。
注意:我添加了git用户只需sudo adduser git
答案3
您想要更新/etc/sudoers
以允许您运行命令而不git
需要密码。
首先,编辑文件sudoers
:
$ EDITOR=my_favorite_text_editor sudo -E visudo
在末尾添加以下行*:
ec2_user ALL=(git) NOPASSWD: gitosis-init
然后您可以使用一直使用的命令,但不再提示您输入密码。
* 或者您可以将其添加到文件中(/etc/sudoers.d
如果有的话)。