Est-il possible d'ouvrir une session incognito bash
?
Par exemple, lorsque nous devons entrer des mots de passe dans des commandes et que nous ne voulons bash
pas les ajouter à l'historique.
bash
shell
command-history
privacy
Sudoer
la source
la source
cat | bash
exécutera un programme non interactifbash
sans invite, édition en ligne de commande (uniquement l'éditeur interne de la discipline de ligne) ni historique.secrectcommand
, ne sera pas dans l'histoire de bash.Réponses:
Lorsque vous souhaitez
bash
arrêter de consigner vos commandes, désélectionnez simplement laHISTFILE
variable:Toutes les commandes ultérieures ne doivent alors plus être enregistrées
.bash_history
.D'autre part, si vous fournissez des mots de passe comme arguments à des commandes, vous faites déjà quelque chose de mal.
.bash_history
n'est pas lisible par le monde et n'est donc pas la plus grande menace dans cette situation:ps
et/proc
sont le gros problème. Tous les utilisateurs du système peuvent voir les commandes que vous exécutez actuellement avec tous leurs arguments . Passer des mots de passe en tant qu'arguments de ligne de commande est donc intrinsèquement peu sécurisé . Utilisez des variables d’environnement ou des fichiers de configuration (que vous avez chmodded 600) pour fournir des mots de passe en toute sécurité.la source
unset HISTFILE
a un effet similaire. J'ai une fonction pour cela:n() { HISTFILE=; PS1="~${PS1#\~}"; }
. De cette façon, je peux voir clairement si je suis en "mode incognito" ou non.Si cette option n’est pas déjà définie
bash
, c’est peut-être ce dont vous avez besoin. C'est moins débilitant que de désactiver toute l'histoire. Avec cet ensemble, toute ligne de commande commençant par un caractère d'espacement ne sera pas enregistrée dans la liste de l'historique.À partir de ces liens connexes:
Pourquoi bash a-t-il une option HISTCONTROL = ignorespace?
Pourquoi bash ne stocke-t-il pas les commandes commençant par des espaces?
la source
Vous pouvez désactiver temporairement l'historique:
set +o history
Il existe une différence entre la désactivation de l'historique et la désactivation
HISTFILE
:génère quelque chose comme ceci:
c'est-à-dire que toutes les commandes sont enregistrées dans la liste de l'historique. Tapez
exit
pour le sauvegarder.Mais
génère quelque chose comme ceci:
Résumé :
set +o history
pour les longues sessions.HISTCONTROL
et<space>command
à un autre moment.la source