linux - utiliza - sudo-i ubuntu
Usar sudo con contraseña como parámetro (5)
El interruptor -S hace que sudo lea la contraseña de STDIN. Esto significa que puedes hacer
echo mypassword | sudo -S command
pasar la contraseña a sudo
Sin embargo, las sugerencias de otros que no implican pasar la contraseña como parte de un comando, como verificar si el usuario es root, son probablemente mejores ideas por razones de seguridad.
Me gustaría ejecutar sudo con mi contraseña como parámetro para poder usarlo para un script. Lo intenté
sudo -S mypassword execute_command
pero sin ningún éxito. ¿Alguna sugerencia?
Puede establecer el bit s
para su script de modo que no necesite sudo
y se ejecute como root (y no necesita escribir su contraseña de root en el script):
sudo chmod +s myscript
Una opción es usar el indicador -A para sudo. Esto ejecuta un programa para pedir la contraseña. En lugar de preguntar, podría tener un script que simplemente escupe la contraseña para que el programa pueda continuar.
# Make sure only root can run our script
if [ "$(id -u)" != "0" ]; then
echo "This script must be run as root" 1>&2
exit 1
fi
echo -e "YOURPASSWORD/n" | sudo -S yourcommand