Quiero asegurar la ejecución de un programa con una contraseña.¿Cómo hacer el script bash para pedir una contraseña?
¿Cómo hago eso en bash?
Quiero asegurar la ejecución de un programa con una contraseña.¿Cómo hacer el script bash para pedir una contraseña?
¿Cómo hago eso en bash?
stty_orig=`stty -g` # save original terminal setting.
stty -echo # turn-off echoing.
read passwd # read the password
stty $stty_orig # restore terminal setting.
Este comando leerá en var pwd de la entrada estándar (con discapacitados eco):
IFS= read -s -p Password: pwd
desarmado IFS permitirá espacio inicial y final en las contraseñas (que puede ser soportada en algunos entornos , por lo que es mejor apoyarlo durante la entrada de las credenciales de usuario de su secuencia de comandos)
Para validar espacios en blanco iniciales/finales se maneja adecuadamente puede usar:
echo -n "$pwd" | hexdump -C
Nota: ¡no use contraseñas reales mientras se vuelque en la consola!
HT: Ron DuPlain para obtener esta información adicional sobre la desconexión de IFS.
Si necesita capturar una contraseña para suministrarla como parámetro a un programa, entonces los consejos sobre unicornios para simplemente apagar el eco son buenos.
Tener un cheque passwd en el guión no funciona - si el usuario puede ejecutar el script bash que también tienen permiso para leer y ver los ficheros de contraseñas.
Si solo desea permitir que las personas con una contraseña ejecuten un programa, la forma segura es crear una nueva cuenta de usuario propietaria del programa y tener una secuencia de comandos que use 'sudo' para ejecutar el programa como ese usuario: pedirá a los usuarios que pasen de forma segura.
Se podría calcular previamente la suma de comprobación de la contraseña y tienda * * que en la secuencia de comandos en lugar del texto en claro y poner a prueba la suma de comprobación de la entrada en contra de eso. Sin embargo, aún puede romperse, pero con menos facilidad. –
En cuyo caso, simplemente copie el script en algún lugar donde tenga permiso de escritura y elimine el cheque. –
votación para cerrar como incierto, por favor especificar cómo desea introducción de la contraseña sea diferente de otros insumos. No se preguntó haciéndose eco en: http://stackoverflow.com/questions/3980668/how-to-get-a-password-from-a-shell-script-without-echoing –