ec2-senha do usuário para executar o sudo -H -u

3

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)

    
por bool.dev 30.10.2012 / 17:35

3 respostas

4

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.

    
por 31.10.2012 / 00:45
2

Esta é a minha solução atual:

  1. Primeiro login como ec2-user com o arquivo .pem

  2. Em seguida, mude para root com sudo su

  3. Em seguida, mude para o usuário git com su git

  4. Em seguida, execute o gitosis-init da seguinte forma:

    gitosis-init < path/to/id_rsa.pub
    
  5. exit do usuário git , então exit da raiz .

Observação: eu adicionei o usuário git com apenas sudo adduser git

    
por 30.10.2012 / 23:32
1

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.

    
por 31.10.2012 / 18:23