bash
ユーザーのコマンドライン履歴をプレーンテキストファイルに保存する"~/.bash_history"。
端末を使用しているユーザーが1人だけであると仮定すると、その端末を開くと悪い副作用がありますか?"~/.bash_history"端末ベースのテキストエディタで(またはsed
、他。)bash
そのユーザーのインスタンスの実行中に保存しますか?
ベストアンサー1
1 台の端末で 1 人のユーザーのみを使用する場合、いいえ、問題ありません。
Bash の履歴はログとして使用できますが、ユーザー専用であるため、セキュリティチェックには安全ではありません。より安全なログが必要な場合は、rsyslog を構成し、ログをレプリケーションとログを使用して別のサーバーに保存することを検討してください。パーティションから回転します。
たとえば、特定のユーザーとしてログインしていくつかのコマンドを実行し、kill -9 $$を実行すると、そのログがbash履歴に登録されていないことがわかります。
rsyslogdを設定するために実行する基本的な操作は次のとおりです(たとえば、debianで)。
cat >/etc/rsyslog.d/bash.conf
local6.* /var/log/commands.log
[CTRL+D for save the file)
次に、
editor /etc/bash.bashrc
内部(最初の行以降)
export PROMPT_COMMAND='RETRN_VAL=$?;logger -p local6.debug "$SSH_CLIENT $(whoami) [$$]: $(history 1 | sed "s/^[ ]*[0-9]\+[ ]*//" ) [$RETRN_VAL]"'
readonly PROMPT_COMMAND