¿Es posible abrir una sesión de incógnito en bash?
Por ejemplo, cuando necesitamos ingresar contraseñas en los comandos y no queremos bashagregarlas al historial.
bash
shell
command-history
privacy
Sudoer
fuente
fuente

cat | bashejecutará unabashedición no interactiva sin solicitud de línea de comandos (solo el editor interno de la disciplina de línea) o el historial.secrectcommandno estará en la historia de bash.Respuestas:
Cuando desee
bashdejar de registrar sus comandos, simplemente desarme laHISTFILEvariable: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_historyno es legible en el mundo y, por lo tanto, no es la mayor amenaza en esta situación:psY/procson 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 HISTFILEtiene 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 historyHay 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
exitpara guardarlo.Pero
produce algo como esto:
Resumen :
set +o historypara largas sesiones.HISTCONTROLy<space>commanden otro momentofuente