Si se toma en serio la seguridad de sus máquinas Linux, es posible que desee borrar el historial de bash. Aprenda a hacer esto de manera más eficaz que con un solo comando.

Imagen: Jack Wallen
En sus máquinas Linux, se conserva un historial de sus comandos bash. Esto es excelente cuando necesita repetir un comando o no puede recordar exactamente cómo ejecutó un comando en una sesión anterior. Sin embargo, esto también puede verse como un problema de seguridad. ¿Qué pasa si alguien obtiene acceso a su máquina, abre una ventana de terminal y revisa su historial de bash para ver qué comandos ha ejecutado?
Bash tiene una forma práctica de borrar el historial: emita el comando historia -c. Hay un pequeño problema con ese enfoque. Dejame explicar.
En primer lugar, su historial de bash se conserva en el archivo ~ / .bash_history. Cuando tiene una terminal abierta y emite un comando, escribe el comando en el archivo de historial. Entonces emitiendo historia -c borrará el historial de ese archivo. El problema surge cuando tienes varias ventanas de terminal abiertas.
Digamos que tiene dos ventanas de terminal abiertas y emite historia -c desde el primero y cierre esa ventana. Luego se mueve a la segunda ventana de terminal y escribe el comando de salida para cerrar esa ventana. Debido a que tenía una segunda ventana de bash abierta, incluso después de ejecutar el historia -c comando en el primero, ese historial se conservará. En otras palabras, el historia -c El comando solo funciona cuando se emite desde la última ventana de terminal restante.
¿Cómo se soluciona eso? Tu vacias el .bash_history archivo ya sea por instancia o mediante un trabajo crontab para hacerlo con regularidad. Si la seguridad es un asunto serio para usted, considere configurar el trabajo crontab. Así es cómo.
VER: La Fundación Linux lanza un programa de insignias para impulsar la seguridad del código abierto (ZDNet)
Borrar el historial de bash de forma regular
Antes de mostrar cómo configurar el trabajo crontab para esto, sepa que el ~ / .bash_history El archivo se puede borrar con el comando:
cat / dev / null> ~ / .bash_history
Eso vaciará el contenido del archivo, pero mantendrá el archivo en su lugar.
Digamos que quiere borrar el .bash_history archivo para el usuario olivia (que administra su servidor Linux) a las 11:00 pm todos los días. Crearía un trabajo cron en la cuenta olivia. Para hacer eso, inicie sesión como usuario olivia, abra una ventana de terminal y emita el comando crontab -e. Cuando se abra el editor crontab, ingrese lo siguiente:
00 23 * * * cat / dev / null> ~ / .bash_history
Guarde ese archivo y cron comenzará a borrar el historial de Olivia a las 11:00 pm todos los días.
Un método infalible
Este es un método infalible para limpiar su historial de bash. No siempre confíe en el historia -c comando, porque nunca se sabe cuándo una segunda (o tercera) terminal todavía está abierta, lista para mantener ese historial retenido.