运行 sudo -H -u 的 ec2-user 密码

运行 sudo -H -u 的 ec2-user 密码

我必须运行此命令来初始化吉托西斯

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

这是我目前的解决方法:

  1. 首次登录为ec2-用户使用 .pem 文件

  2. 然后切换到sudo su

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

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

    gitosis-init < path/to/id_rsa.pub
    
  5. exitgit用户,然后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如果有的话)。

相关内容