Si sudo ejecuto un archivo de script Bash, ¿todos los comandos dentro del script Bash se ejecutarán también como sudo?

Pregunta:

Quiero escribir un script de post-install.sh automatizado en Bash (llamado post-install.sh , por ejemplo). El script agregará y actualizará automáticamente repositorios, instalará y actualizará paquetes, editará archivos de configuración, etc.

Ahora, si ejecuto este script, por ejemplo con sudo post-install.sh , solo se me pedirá una contraseña de sudo una vez, o tendré que ingresar la contraseña de sudo en cada invocación de un comando dentro del script, que necesita sudo permiso? En otras palabras, ¿los comandos dentro del script bash 'heredan' los permisos de ejecución, por así decirlo?

Y, si de hecho lo hacen, ¿existe todavía la posibilidad de que los sudo permisos tendrán tiempo de espera (si, por ejemplo, un comando en particular toma el tiempo suficiente para superar el sudo de tiempo de espera)? ¿O la entrada inicial de la contraseña de sudo durará la duración completa de todo el script?

Respuesta:

P # 1: ¿Solo se me pedirá una contraseña de sudo una vez, o tendré que ingresar la contraseña de sudo en cada invocación de un comando dentro del script que necesite permiso de sudo?

Sí, una vez, durante la ejecución de su script.

NOTA: Cuando proporcionas credenciales a sudo , la autenticación suele ser válida durante 5 minutos dentro del shell donde escribiste la contraseña. Además, cualquier proceso hijo que se ejecute desde este shell, o cualquier script que se ejecute en el shell (su caso) también se ejecutará en el nivel elevado.

P # 2: ¿Existe todavía la posibilidad de que los permisos de sudo se agoten (si, por ejemplo, un comando en particular tarda lo suficiente para exceder el tiempo de espera de sudo)? ¿O la entrada inicial de la contraseña de sudo durará la duración completa de todo el script?

No, no se agotará el tiempo de espera dentro del script. Solo si los estaba escribiendo de forma interactiva dentro del shell donde se proporcionaron las credenciales. Cada vez que se ejecuta sudo dentro de este shell, se restablece el tiempo de espera. Pero en su caso, las credenciales permanecerán siempre que el script esté ejecutando y ejecutando comandos desde su interior.

extracto de la página de manual de sudo

Este límite es específico de la política; el tiempo de espera de solicitud de contraseña predeterminado para la política de seguridad de sudoers es de 5 minutos.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım