Formas de evitar que los comandos que ejecutas acaben en tu history
Puede haber ocasiones en las que no es una buena idea que cuando ejecutemos un comando desde nuestra shell (bash), éste se almacene en el history.
En ejemplo real y práctico sería el evitar que se graben datos sensibles tales como contraseñas. A veces tenemos que arrancar un servicio que puede requerir como parámetros un nombre de usuario y una contraseña y estos datos en condiciones normales se quedarían grabados en el history.
Existen varias formas de evitar que esto ocurra. Algunas de éstas son:
Escribe un espacio en blanco antes del comando:
espacio echo “hola”
Este método sólo funciona si tenemos la variable HISTCONTROL asignada con el valor ignorespace o ignoreboth. Esta variable por defecto viene asignada con el valor ignoreboth, al menos en Ubuntu 14.04:
tuxotron@tuxotron-T530:~$ grep “HISTCONTROL” .bashrc
HISTCONTROL=ignoreboth
HISTCONTROL también se puede declarar de forma global en /etc/bash.bashrc
Deshabilita temporalmente el history:
Ejecuta:
set +o history o shopt -uo history
Para volver a habilitarlo:
set -o history o shopt -so history
Deshabilita el history para la sesión actual sólamente:
unset HISTFILE
Este método sólo funciona para sesión actual, es decir, si abres un terminal nuevo, el history estaría activado. Esto evita el volcado del búfer de memoria en el fichero .bash_history, es decir en dicha sesión puedes navegar por el búfer usando los cursores (arriba y abajo), pero cuando termines la sesión, dicho búfer no será volcado en el sistema de ficheros.
Borrando un comando específico del history:
Si has ejecutado cierto comando antes de deshabilitar el history, puede que todo lo que quieras hacer es borrar ese preciso comando o varios de ellos, otro método sería borrándolos de tu history:
history -d <número>
Dónde el número es la línea de dicho comando en tu hisrory. Para saber el número puedes ejecutar el comando history tal cual, o filtrar la salida con un grep.
Matando la sesión:
Esta sea quizás la forma menos elegante y podría matar otras sesiones, pero funcionar, funciona:
kill -9 $$
Hacer que el .bash_history sea de sólo lectura :
chattr +i .bash_history
De esta forma el sistema a la hora de volcar el búfer en dicho fichero, se verá bloqueado.
Buscar
Entradas Recientes
- Posts
- Reemplazando la bateria del AirTag
- OpenExpo Europe décima edición, 18 de mayo: El Epicentro de la Innovación y la Transformación Digital
- Docker Init
- Kubernetes para profesionales
- Agenda: OpenExpo Europe 2022 llega el 30 de junio en formato presencial
- Libro 'Manual de la Resilencia', de Alejandro Corletti, toda una referencia para la gestión de la seguridad en nuestros sistemas
- Mujeres hackers en ElevenPaths Radio
- Creando certificados X.509 caducados
- Generador de imágenes Docker para infosec