Configurando a senha no sudo su para a instância do Amazon EC2

3

Nosso servidor intermediário está em uma instância do Amazon EC2. Quando você fizer isso, você pode executar um comando sudo ou sudo su sem precisar digitar uma senha.

Existe alguma maneira que eu possa exigir uma senha de um usuário quando eles tentam um comando com sudo ? Eu tenho um desenvolvedor de terceiros que precisa de acesso e quero restringir privilégios de root para eles.

Eu tentei definir uma senha com sudo passwd , mas ainda não solicito uma senha.

~$ sudo passwd root
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
~$ sudo su
/home/ubuntu# exit
~$ sudo passwd
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
~$ sudo su
/home/ubuntu#

UPDATE

Eu tentei exigir a senha executando sudo visudo e adicionando:

ubuntu        ALL=(ALL)       ALL

Agora me pedem uma senha, mas a que eu configurei não funciona! Felizmente eu criei uma AMI antes de começar tudo isso.

O problema é que eu não tenho uma senha definida para o usuário ubuntu ? Eu deveria ter executado sudo passwd ubuntu em vez de sudo passwd root .

SOLUÇÃO FINAL

Só para esclarecer, meu erro foi que eu configurei a senha para o usuário errado, tentei configurá-la para root enquanto eu deveria ter configurado para ubuntu com :

~$ sudo passwd ubuntu

E, em seguida, atualizando / etc / sudoers para que o usuário ubuntu forneça sua senha ao executar o comando sudo . Para editar este arquivo, você deve executar sudo visudo e adicionar:

ubuntu        ALL=(ALL)       ALL
    
por Holly 14.10.2015 / 11:22

2 respostas

4

Se você tem uma linha como

ALL ALL=(ALL) NOPASSWD:ALL

em / etc / sudoers, isso permitirá que todos os usuários façam sudo sem que sejam solicitadas senhas. Se você descomentar esta linha, você terá que especificar quais usuários estão autorizados a usar o sudo, por exemplo

myuser ALL=(ALL) ALL
    
por 14.10.2015 / 11:38
4

O Sudo armazenará suas credenciais em cache, de modo que, se você usá-lo várias vezes em um curto período de tempo, ele só solicitará sua senha pela primeira vez.

A página man diz:

   timestamp_timeout
                     Number of minutes that can elapse before sudo will
                     ask for a passwd again.  The timeout may include a
                     fractional component if minute granularity is
                     insufficient, for example 2.5.  The default is 5.
                     Set this to 0 to always prompt for a password.  If
                     set to a value less than 0 the user's time stamp
                     will never expire.  This can be used to allow users
                     to create or delete their own time stamps via "sudo
                     -v" and "sudo -k" respectively.

Portanto, se você quiser sempre solicitar uma senha, basta digitar sudo visudo para editar o arquivo. Adicione esta linha:

Defaults        timestamp_timeout=0

Isso exigirá que uma senha seja inserida para todos os comandos do sudo.

    
por 15.10.2015 / 10:57