SOLUCIÓN FINAL

SOLUCIÓN FINAL

Nuestro servidor de prueba está en una instancia de Amazon EC2. Cuando ingresa a él, puede ejecutar un sudocomando o sudo susin tener que ingresar una contraseña.

¿Hay alguna forma de solicitar una contraseña a un usuario cuando intenta ejecutar un comando sudo? Tengo un desarrollador externo que necesita acceso y quiero restringirle los privilegios de root.

Intenté establecer una contraseña sudo passwdpero todavía no la necesito.

~$ 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#

ACTUALIZAR

Intenté solicitar la contraseña ejecutando sudo visudoy agregando:

ubuntu        ALL=(ALL)       ALL

¡Ahora me piden una contraseña pero la que configuré no funciona! Afortunadamente, creé una AMI antes de comenzar con todo esto.

¿Podría el problema ser que no tengo una contraseña establecida para el ubuntuusuario? Debería haber ejecutado sudo passwd ubuntuen lugar de sudo passwd root.


SOLUCIÓN FINAL

Sólo para aclarar, mi error fue que configuré la contraseña para el usuario equivocado, intenté configurarla pararaízmientras que debería haberlo configurado paraubuntucon:

~$ sudo passwd ubuntu

Y luego actualizando/etc/sudoersde manera que laubuntuEl usuario debe proporcionar su contraseña al ejecutar un sudocomando. Para editar este archivo debes ejecutar sudo visudoy agregar:

ubuntu        ALL=(ALL)       ALL

Respuesta1

Si tienes una línea como

ALL ALL=(ALL) NOPASSWD:ALL

en /etc/sudoers, esto permitirá a todos los usuarios realizar sudo sin que se les soliciten contraseñas. Si descomentas esta línea tendrás que especificar qué usuarios pueden usar sudo, por ejemplo

myuser ALL=(ALL) ALL

Respuesta2

Sudo almacenará en caché sus credenciales, de modo que si lo usa varias veces en un período corto de tiempo, solo le pedirá su contraseña la primera vez.

La página de manual dice:

   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.

Entonces, si siempre desea solicitar una contraseña, simplemente escriba sudo visudopara editar el archivo. Añade esta línea:

Defaults        timestamp_timeout=0

Esto requerirá que se ingrese una contraseña para todos los comandos sudo.

información relacionada