Recherche de site Web

Comment effacer l'historique de la ligne de commande BASH sous Linux


L'historique bash conserve un enregistrement de toutes les commandes exécutées par un utilisateur sur la ligne de commande Linux. Cela vous permet d'exécuter facilement des commandes précédemment exécutées en utilisant les touches « flèche vers le haut » ou « flèche vers le bas » pour faire défiler le fichier historique des commandes.

Dans cet article, nous allons vous montrer deux façons simples d'effacer votre historique de ligne de commande sur un système Linux.

La principale raison de supprimer l'historique de ligne de commande du terminal Linux est d'empêcher un autre utilisateur, qui pourrait utiliser le même compte.

Par exemple, si vous avez tapé une commande contenant un mot de passe en texte brut et que vous ne souhaitez pas qu'un autre utilisateur du système ou un attaquant voie ce mot de passe, vous devez supprimer ou effacer le fichier historique.

Jetez un œil à la commande ci-dessous, ici l'utilisateur aaronkilik a tapé le mot de passe du serveur de base de données sur la ligne de commande.

sudo mysql -u root -p=@!#@%$lab

Si vous regardez le fichier historique bash vers la fin, vous verrez le mot de passe tapé ci-dessus.

history

Le fichier bash_history se trouve normalement dans le répertoire personnel d'un utilisateur /home/username/.bash_history.

ls -l /home/aaronkilik/.bash_history

Pour supprimer une seule ligne du fichier historique, utilisez l'option -d. Par exemple, si vous souhaitez effacer une commande dans laquelle vous avez entré un mot de passe en texte clair comme dans le scénario ci-dessus, recherchez le numéro de ligne dans le fichier historique et exécutez cette commande.

history -d 2038

Pour supprimer ou effacer toutes les entrées de l'historique bash, utilisez la commande history ci-dessous avec l'option -c.

history -c

Vous pouvez également utiliser la commande ci-dessous pour supprimer définitivement l’historique de toutes les dernières commandes exécutées dans le fichier.

cat /dev/null > ~/.bash_history 

Remarque : un utilisateur normal ne peut afficher que son propre historique de commandes, mais l'utilisateur root peut afficher l'historique des commandes de tous les autres utilisateurs du système.

Vous pouvez en savoir plus sur le fichier d'historique bash et les commandes d'historique utiles ici : La puissance de Linux « Commande historique » dans Bash Shell.

N'oubliez jamais que toutes les commandes que vous exécutez sont enregistrées dans un fichier historique. Ne saisissez donc pas de mots de passe en texte brut sur la ligne de commande. Si vous avez des questions ou des idées à partager avec nous, utilisez le formulaire de commentaires ci-dessous.