Articles

Cómo borrar eficazmente el historial de bash

Imagen: Jack Wallen

En sus máquinas Linux, se conserva un historial de sus comandos bash. Esto es genial 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 considerarse 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: ejecute el comando history-c. Hay un pequeño problema con ese enfoque. Déjame explicarte.

En primer lugar, su historial de bash se conserva en el archivo ~/.historia de bash. Cuando tiene un terminal abierto y emite un comando, escribe el comando en el archivo de historial. Por lo tanto, la emisión de history-c borrará el historial de ese archivo. El problema se produce cuando tiene varias ventanas de terminales abiertas.

Digamos que tiene dos ventanas de terminal abiertas y emite history-c desde la primera y cierra esa ventana. A continuación, pasa a la segunda ventana de terminal y escribe el comando exit para cerrar esa ventana. Debido a que tenía una segunda ventana de bash abierta, incluso después de ejecutar el comando history-c en la primera, ese historial se conservará. En otras palabras, el comando history-c solo funciona cuando se emite desde la última ventana de terminal que queda.

¿Cómo se puede evitar eso? Vacía el .archivo bash_history, ya sea por instancia o utilizando un trabajo crontab para hacerlo regularmente. Si la seguridad es un asunto serio para usted, considere configurar el trabajo de crontab. He aquí cómo.

VER: Linux Foundation lanza el programa badge para aumentar la seguridad de 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 ~/.el archivo bash_history se puede borrar con el comando:

cat/dev/null>~/.bash_history

Que vaciará el contenido del archivo, pero lo mantendrá en su lugar.

Digamos que quieres borrar el .archivo bash_history para el usuario olivia (que administra su servidor Linux) a las 11:00 p. m. todos los días. Crearías un trabajo cron bajo la cuenta de Olivia. Para ello, inicie sesión como usuario olivia, abra una ventana de terminal y ejecute el comando crontab-e. Cuando se abra el editor de crontab, escriba lo siguiente:

00 23 * * * cat / dev/null >~/.bash_history

Guarde ese archivo y cron comenzará a limpiar el historial de olivia a las 11:00 p. m.todos los días.

Un método infalible

Este es un método infalible de la limpieza de su bash historia. No confíe siempre en el comando history-c, porque nunca se sabe cuándo un segundo (o un tercer) terminal sigue abierto, listo para mantener ese historial retenido.

También consulte

  • Cómo sincronizar su nube de Google en Linux con Grive2 (TechRepublic)
  • Las opciones de privacidad de GNOME brindan a los usuarios aún más seguridad de escritorio (TechRepublic)
  • Por qué el Internet de las Cosas necesita código abierto (TechRepublic)
  • Cómo administrar los permisos de aplicaciones en un teléfono con Ubuntu (TechRepublic)
  • Cómo usar darkstat para monitorear el tráfico de red del servidor Linux (TechRepublic)
  • Lista de comprobación de energía: Administración y solución de problemas de cuentas de usuario de Linux (Investigación de Tech Pro)