質問:ユーザーのシェル履歴を保存しないように、BASH シェル履歴を無効にする方法は?
解決策:
次のような行を /etc/profile または新しい /etc/profile.d/*.sh ファイルの末尾に追加します
unset HISTFILE
これにより、ユーザーが HISTFILE 変数を手動で構成しない限り、各ユーザーの bash シェルは履歴ファイルの保存をスキップします。
注意
ユーザーが自分の bash シェル履歴を保存するのを完全に防ぐ実用的な方法はありません。 HISTFILE を手動で宣言することにより、ユーザーは引き続き自動保存されたシェル履歴を取得できます 変数。ユーザーは、以下を ~/.bash_profile または ~/.bashrc に追加して、独自の履歴ファイルを作成できます。
HISTFILE=$HOME/.my_history_file
ユーザーが bash プロセスでコマンド履歴を自動保存するのを困難にするには、次の手順を実行します。
1. 投稿の冒頭で最初に説明したように、未設定の HISTFILE をグローバル構成に追加します。
2. root として、すべてのユーザーのホーム ディレクトリにある ~/.bashrc および ~/.bash_profile ファイルの所有権を取得します。例:
# chown root:root ~bob/.bashrc ~bob/.bash_profile
root として、同じファイル (すべてのユーザーのホームディレクトリにある) を不変にします。例:
# chattr +i ~bob/.bashrc ~bob/.bash_profile
これらの手順を実行しても、ユーザーが bash プロセスを開始するたびに、コマンドラインから HISTFILE 変数を手動で宣言することは妨げられないことに注意してください。したがって、変数 HISTFILE を宣言した場合でも、コマンド履歴をファイルに保存できます。
Solaris :bash シェル コマンドの履歴に日付とタイムスタンプを含める方法CentOS / RHEL :history コマンド出力で実行されたコマンドの日時を取得する方法
UNIX / Linux :bash history コマンドの例最後のコマンドを繰り返す