
¿Es posible configurar Sudo para solicitar la contraseña de root en lugar de la contraseña de usuario?
El servidor está configurado con un usuario root y un usuario simple (llamémoslo simple) con privilegios limitados, utilizados para implementar todas las aplicaciones alojadas en el servidor. El usuario simple no está en la lista de sudoers por lo tanto
$ sudo command
no funcionará porque la contraseña de simple no puede otorgarle privilegios de root.
De vez en cuando necesito ejecutar algunos scripts que necesitan acceso de root a través de Capistrano (una herramienta de implementación de Ruby) y es bastante difícil codificar un script para iniciar sesión como root, ejecutar el script y luego cerrar sesión. Me gustaría poder ejecutar la siguiente declaración
$ sudo god restart tasks-group
y hacer que Capistrano me solicite la contraseña de root. Actualmente, Capistrano solicita la contraseña del usuario de implementación que, obviamente, no es una cuenta de administrador.
Respuesta1
Creo que estás intentando hacer que sudo funcione de una manera que no es adecuada; no deseas agregar el usuario "simple" al archivo sudoers (corrígeme si me equivoco).
En ese caso, sudo no es la herramienta que desea utilizar y desea emitir. su -c <command>
Esto le solicitará la contraseña de root, ejecutará el comando y luego saldrá.
Respuesta2
Hay una bandera que se debe configurar en el archivo sudoers si desea que el usuario se autentique mediante su propia contraseña o mediante la de root. La bandera se llama rootpw
. Sudo es un paquete muy potente, asegúrese de consultar la página de manual sobre sudoers(5).
Respuesta3
No. Úselo su
para convertirse en root usando la contraseña de root.
Probablemente, la mejor solución sea utilizar capistrano sudo
en la máquina de implementación para tareas que necesitan acceso de root.
Respuesta4
Si al usuario de implementación se le permite sudo, en ese momento se convierte en una cuenta privilegiada que puede actuar de forma administrativa. Ese es el propósito de sudo. ¿O estoy interpretando mal la pregunta?