¿Es posible abrir una sesión de incógnito en bash
?
Por ejemplo, cuando necesitamos ingresar contraseñas en los comandos y no queremos bash
agregarlas al historial.
bash
shell
command-history
privacy
Sudoer
fuente
fuente
cat | bash
ejecutará unabash
edición no interactiva sin solicitud de línea de comandos (solo el editor interno de la disciplina de línea) o el historial.secrectcommand
no estará en la historia de bash.Respuestas:
Cuando desee
bash
dejar de registrar sus comandos, simplemente desarme laHISTFILE
variable:Todos los comandos adicionales ya no deberían estar registrados
.bash_history
.Por otro lado, si en realidad está proporcionando contraseñas como argumentos para los comandos, ya está haciendo algo mal.
.bash_history
no es legible en el mundo y, por lo tanto, no es la mayor amenaza en esta situación:ps
Y/proc
son el gran problema. Todos los usuarios del sistema pueden ver los comandos que está ejecutando actualmente con todos sus argumentos . Por lo tanto, pasar contraseñas como argumentos de línea de comandos es inherentemente inseguro . Utilice variables de entorno o archivos de configuración (que ha modificado 600) para proporcionar contraseñas de forma segura.fuente
unset HISTFILE
tiene un efecto similar Tengo una función para esto:n() { HISTFILE=; PS1="~${PS1#\~}"; }
. De esa manera puedo ver claramente si estoy en "modo incógnito" o no.Si esta opción aún no está configurada
bash
, puede ser justo lo que necesita. Es menos debilitante que deshabilitar toda la historia. Con ese conjunto, cualquier línea de comando que comience con un carácter de espacio no se guardará en la lista del historial.De estos enlaces relacionados:
¿Por qué bash tiene una opción HISTCONTROL = ignorespace?
¿Por qué bash no almacena comandos que comienzan con espacios?
fuente
Puedes deshabilitar temporalmente el historial:
set +o history
Hay una diferencia entre deshabilitar el historial y desarmar
HISTFILE
:produce algo como esto:
es decir, todos los comandos se guardan en la lista del historial. Escribe
exit
para guardarlo.Pero
produce algo como esto:
Resumen :
set +o history
para largas sesiones.HISTCONTROL
y<space>command
en otro momentofuente