~/.bash_historyを「リアルタイム」に編集するのは安全ですか?

~/.bash_historyを「リアルタイム」に編集するのは安全ですか?

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

おすすめ記事