Como você descobriu, o usuário root
pode sudo
para qualquer outro usuário, então coloque um sudo
extra na frente.
sudo sudo -H -u git gitosis-init < /home/ec2-user/id_rsa.pub
Por favor, não se chute muito.
Eu tenho que executar este comando para inicializar gitosis :
sudo -H -u git gitosis-init < /home/ec2-user/id_rsa.pub
Mas isso me pede uma senha para o usuário ec2:
$ sudo -H -u git gitosis-init < id_rsa.pub
[sudo] password for ec2-user:
Eu não tenho uma senha, pois eu uso o arquivo de chave .pem padrão para fazer login.
Eu sei que provavelmente posso logar como o usuário do git e fazer isso, mas existe alguma outra maneira?
Atualização:
Usando o Linux AMI 12.09 (micro-instance), na região us-east-1 (N. Virginia)
Esta é a minha solução atual:
Primeiro login como ec2-user com o arquivo .pem
Em seguida, mude para root com sudo su
Em seguida, mude para o usuário git com su git
Em seguida, execute o gitosis-init
da seguinte forma:
gitosis-init < path/to/id_rsa.pub
exit
do usuário git , então exit
da raiz .
Observação: eu adicionei o usuário git com apenas sudo adduser git
Você deseja atualizar /etc/sudoers
para permitir que você execute comandos como git
sem exigir uma senha.
Primeiro, edite o arquivo sudoers
:
$ EDITOR=my_favorite_text_editor sudo -E visudo
Adicione a seguinte linha no final *:
ec2_user ALL=(git) NOPASSWD: gitosis-init
Você pode então usar o comando que está usando, mas não será mais solicitada uma senha.
* Ou você pode adicionar isso a um arquivo em /etc/sudoers.d
, se você tiver isso disponível.
Tags password sudo git amazon-ec2