GNU/Linux >> Tutoriels Linux >  >> Linux

J'ai accidentellement tapé le mot de passe dans la ligne de commande bash

Vous pouvez supprimer uniquement la ligne incriminée de bash au lieu d'effacer tout l'historique. Supprimez simplement la ligne avec le -d flag, puis enregistrez (écrivez) le nouvel historique avec le -w drapeau :

$ history
351 ssh [email protected]
352 my_password
$ history -d 352
$ history -w

Il y a deux parties :

  • bash stocke l'historique dans un fichier ~/.bash_history qui est, par défaut, écrit à la fin de la session
  • le history qui est gardé en mémoire

Pour être sûr, vous devez l'effacer de la session :

history -c

et tronquer le fichier d'historique si nécessaire :

> ~/.bash_history

Si votre session dans laquelle vous avez tapé le mot de passe est toujours ouverte, alors un autre moyen de couvrir votre trace est de définir le HISTFILE variable au périphérique nul afin que l'historique ne soit pas écrit dans ~/.bash_history lorsque la session se termine :

export HISTFILE=/dev/null

Étant donné que bash (au moins toutes les versions historiques et actuelles que je connais) n'enregistre pas automatiquement l'historique jusqu'à ce que vous quittiez, une stratégie généralement applicable lorsque vous avez tapé une commande dont vous voulez vous assurer qu'elle ne sera jamais enregistrée consiste à taper immédiatement :

kill -9 $$

Cela tue le shell avec SIGKILL , qui ne peut pas être intercepté, de sorte que le shell n'a aucun moyen de sauvegarder quoi que ce soit à la sortie.

La plupart des autres approches impliquent un nettoyage après coup (c'est-à-dire après que les données ont déjà atteint le disque), ce qui a beaucoup plus de risques d'erreur (manquer une copie), surtout si le système utilise btrfs ou similaire.


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

  2. Comment effacer l'historique de Bash sous Linux

  3. Titan - Un gestionnaire de mots de passe en ligne de commande pour Linux

  4. Passer les arguments de la ligne de commande au script Bash ?

  5. Comprendre le point d'exclamation (!) dans Bash ?

Patch dans The Matrix à la ligne de commande Linux

3 gestionnaires de mots de passe pour la ligne de commande Linux

Commande d'historique sous Linux (historique de bash)

Comment démarrer en ligne de commande Linux

Comment afficher l'historique de Bash sans numéros de ligne

Comment activer l'horodatage dans l'historique de Bash sous Linux