GNU/Linux >> Linux の 問題 >  >> Linux

誤ってパスワードを bash コマンド ラインに入力してしまいました

bash から問題のある行だけを削除できます 履歴全体をクリアするのではなく、 の履歴を消去します。 -d の行を削除するだけです フラグを立ててから、新しい履歴を -w で保存 (書き込み) します。 フラグ:

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

これには 2 つの部分があります:

  • bash 履歴をファイル ~/.bash_history に保存します デフォルトでは、セッションの最後に書き込まれます
  • history 記憶に残る

安全のために、セッションからクリアする必要があります:

history -c

必要に応じて履歴ファイルを切り捨てます:

> ~/.bash_history

パスワードを入力したセッションがまだ開いている場合は、痕跡を隠す別の方法があります HISTFILE を設定することです 履歴が ~/.bash_history に書き込まれないように、null デバイスへの変数 セッション終了時:

export HISTFILE=/dev/null

bash (少なくとも私が認識しているすべての歴史的および現在のバージョン) は、終了するまで履歴を自動的に保存しないため、保存されないようにしたいコマンドを入力したときに一般的に適用できる戦略は、すぐに次のように入力することです:

kill -9 $$

これは SIGKILL でシェルを殺します 、キャッチできないため、シェルは終了時に何かを保存する方法がありません.

他のほとんどのアプローチでは、事後 (つまり、データが既にディスクにヒットした後) にスクラブが行われます。これは、特にシステムが btrfs などを使用している場合に、エラー (コピーの欠落) の可能性が高くなります。


Linux
  1. コマンドライン引数をBashスクリプトに渡しますか?

  2. Bashの感嘆符(!)を理解していますか?

  3. Linuxコマンドラインの歴史をマスターするための15の例

  1. 行番号のない Bash 履歴

  2. docker run へのコマンドライン引数

  3. 単一行の場合はバッシュ

  1. コマンドラインでの毎日のBashのヒント

  2. LinuxでBASHコマンドライン履歴をクリアする方法

  3. LinuxでBashの履歴をクリアする方法