La instancia automática EC2 Sudo no funciona

La instancia automática EC2 Sudo no funciona

Estoy usando Atlassian Bamboo para configurar un servidor de compilación. Permite el uso de "imágenes elásticas" que puedo especificar cuál de sus AMI usar (estoy usando la imagen de Amazon Linux/CentOS). También le permite agregar scripts para esencialmente "aprovisionar" el servidor. Cuando ejecuto la compilación usando sudomis scripts, aparece errores como este:

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.

sudo: no tty present and no askpass program specified
sudo: no tty present and no askpass program specified
sudo: no tty present and no askpass program specified
sudo: no tty present and no askpass program specified

Cuando no lo uso sudo, recibo errores de permiso denegado.

ElguionEstoy intentando ejecutar es tan simple como:

sudo yum install -y php-mysql
sudo yum install -y php-pdo
sudo yum install -y php-pecl-xdebug
sudo yum update

Bamboo está configurado con una clave, por lo que no debería requerir una contraseña real (no hay ninguno que yo sepa), lo que significa que la falta de entrada tty no debería importar, ¿verdad?

Si el servidor se activa constantemente, podría ingresar mediante SSH y descubrir cómo habilitar los privilegios sudo, pero no es así... se crea, se ejecuta la compilación y luego finaliza.

TL;DR;¿Qué puede causar que una AMI respaldada por EBS activada dinámicamente no lo permita sudo?

Respuesta1

Bamboo está configurado con una clave, por lo que no debería requerir una contraseña real (hasta donde yo sé, no hay ninguna), lo que significa que la falta de entrada tty no debería importar, ¿verdad?

No. Aquí es donde estás confundido. La forma en que se autenticó en ssh no tiene nada que ver con sudo. Si sudo está configurado para requerir una contraseña, entonces debe ingresar la contraseña del usuario. Si no lo hace, no funcionará. Si el usuario no tiene una contraseña, entonces no es posible que funcione.

Parece que deberías reconfigurar sudo para que

  • no requiere un tty
  • no requiere contraseña

Por ejemplo, si quisiera un usuario llamadobambúpoder ejecutar sin contraseña cualquier comando como cualquier usuario, en mi/etc/sudoersarchivo que podría tener

bamboo  ALL=(ALL)   NOPASSWD: ALL

Respuesta2

Como te dijo la documentación., si las imágenes proporcionadas por Atlassian no hacen lo que deseas, entonces deberíascrear una imagen personalizada.

Respuesta3

compruebe si el archivo /etc/sudoers está configurado correctamente. Ayer recibí este mensaje de error cuando uno de nuestros scripts de compilación sobrescribió los cambios que hice en el archivo /etc/sudoers, lo que provocó el problema de permisos.

información relacionada