Me gustaría ejecutar sudo con mi contraseña como parámetro para poder usarla como script. ProbéUse sudo con contraseña como parámetro
sudo -S mypassword execute_command
pero sin éxito. ¿Alguna sugerencia?
Me gustaría ejecutar sudo con mi contraseña como parámetro para poder usarla como script. ProbéUse sudo con contraseña como parámetro
sudo -S mypassword execute_command
pero sin éxito. ¿Alguna sugerencia?
echo -e "YOURPASSWORD\n" | sudo -S yourcommand
Esto no funciona cuando tengo un argumento para mi comando. por ejemplo. 'echo -e" YOURPASSWORD \ n "| sudo -S "ejecutar -x" '. Dice 'sudo: run -x: command not found'. ¿Alguna idea de como solucionar esto? – Bee
@Bhathiya simplemente no use "comillas", por ejemplo: echo -e "YOURPASSWORD \ n" | sudo -S ls -l/root – matteomattei
Genial, gracias ... – Bee
El interruptor -S hace sudo leer la contraseña de STDIN. Esto significa que puede hacer
echo mypassword | sudo -S command
para pasar la contraseña para sudo
Sin embargo, las sugerencias de los demás que no implican pasar la contraseña como parte de un comando como la comprobación de si el usuario es root son probablemente mucho mejores ideas para razones de seguridad
que funcionó, ¡Muchas gracias! – normalUser
me salvó el día, ¡muchas gracias! – AdrianES
¿Qué le parece ponerlo en una carpeta dedicada que le otorgue a la carpeta y a la carpeta permisos de solo ejecución: 'sudo chmod -R 0100 myScriptFolder'? ¿Eso no resolvería los problemas de seguridad (siempre que nadie use su computadora como root sino usted)? – Shule
se puede establecer el bit s
para su script para que no necesita sudo
y se ejecuta como root (y usted no tiene que escribir la contraseña de root en el guión):
sudo chmod +s myscript
Una opción es usar la bandera -A para sudo. Esto ejecuta un programa para pedir la contraseña. En lugar de preguntar, podrías tener un script que simplemente escuche 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
Esto no responde la pregunta de OP. – codeforester
debe comprobar si su secuencia de comandos se ejecuta mediante "raíz". No está de acuerdo con la contraseña, se encontrará en el historial ... – kbdjockey
Es mucho mejor configurar 'sudo' correctamente para que no pida contraseña a ciertos programas/usuarios/grupos para evitar esos hacks sucios. – rush