Questão Faça uma instância do Amazon EC2 solicitar senha sudoing


Eu lancei uma instância do Amazon EC2 do Ubuntu Server 12.04 e está tudo bem, exceto, ao contrário do meu Ubuntu local, a instância do EC2 nunca pede nenhuma senha quando eu estou sudoing com a linha de comando ou me torno root. eu tentei

passwd
# asks for a new password, I supply one
sudo -i
# always makes me root right away
passwd
# asks for a new password, I supply one
passwd ubuntu
# asks for a new password, I supply one

(ubuntu é o usuário padrão com o qual a instância é instalada.) Até agora, evento após as reinicializações, não notei nenhuma diferença, ele ainda nunca solicita senhas.

Não é nada demais, mas acho que acabei de me habituar ao funcionamento do meu Ubuntu local.


4
2018-06-17 21:19


origem




Respostas:


O EC2 não tem uma maneira fácil de fornecer uma senha segura para o ubuntu usuário, então o padrão é permitir sem senha sudo depois de se conectar de forma segura com a chave privada ssh.

Se você adicionar uma senha ao ubuntu usuário, você pode exigir isso para sudo editando /etc/sudoers.d/90-cloud-init-users e mudando:

ubuntu ALL=(ALL) NOPASSWD:ALL

para:

ubuntu ALL=(ALL) ALL

Este comando faz isso para você (assumindo um arquivo sudoers padrão, intocado):

sudo perl -pi -e 's%NOPASSWD:%%' /etc/sudoers.d/90-cloud-init-users

Por segurança, mantenha um shell separado, logado como root, para que você possa corrigir o arquivo e recuperar-se, se você editá-lo incorretamente e quebrar sudo.

Adicionando uma senha para sudo aumenta a segurança geral do seu sistema.

Ainda é recomendável que você não permita o uso de uma senha para logins do ssh. Mantenha isso limitado a chaves privadas ssh.


4
2018-06-17 22:03



Se você usar sed você não terá que instalar perl. Experimentar sudo sed -re 's/NOPASSWD://' -i.`date -Iseconds` /etc/sudoers.d/90-cloud-init-users (isso também fará um arquivo de backup). - Simon Woodside