¿Por qué la gente teme escribir contraseñas en la línea de comando?
El archivo de historial se encuentra en ~/.history
, por lo que está disponible solo para el usuario que ejecutó los comandos (y root).
¿Por qué la gente teme escribir contraseñas en la línea de comando?
El archivo de historial se encuentra en ~/.history
, por lo que está disponible solo para el usuario que ejecutó los comandos (y root).
export mypass=secret
y usaa_command --password=$mypass
, verásecret
en laps
tabla.Respuestas:
Las líneas de comando no solo están disponibles en el historial. También están disponibles, por ejemplo, en la salida de
ps -ocmd
oa través del/proc
sistema de archivos. (/proc/<pid>/cmdline
) que es donde losps
lee.Además, los directorios principales de los usuarios suelen ser legibles en todo el mundo o en grupo; puede hacer que el archivo de historial solo sea legible por el usuario, pero eso podría no sobrevivir a la eliminación y la recreación.
fuente
Las contraseñas en la línea de comando son una mala idea en todos los sentidos. Además de los métodos discutidos en las otras respuestas:
ps
)Los comandos de usuario también pueden aparecer en estas ubicaciones:
Además, los comandos del usuario también pueden aparecer cuando los usuarios inician sesión entre sistemas, por lo que, en general, es una mala práctica y debe evitarse en todo momento.
fuente
El problema es la visibilidad de los parámetros (para otros usuarios en la mayoría de los casos, incluso para root) mientras se ejecuta el comando. Ver la salida de
fuente