質問: 安全なbash履歴の使用 ユーザーがサーバーに送信するすべてのコマンドが自動的に~/.bash_historyにログインすることを知っています同僚に自分のpcへのアクセスを許可したい(私はすでに姫に/etc/sudoersを介してsudoを使用するための制限付きアクセスを許可しています)、彼を信頼していても、彼が私に何をしたかを確実に知りたいですpc-だから私は確認する必要があります: 彼の~/.bash_historyを危険にさらすことはできません(彼はファイルを切り捨てたり、何らかの方法で変更したりすることはできません) ロギングに影響を与える重要な環境変数(histcontrol、histfile、histsizeなど)を変更することはできません。 彼はhistory -cのようなものを実行することはできません 何か忘れたかどうかはわかりませんが、pcに来たら、彼がしたことすべてを見ることができることを確認する必要があります。
回答: bash_historyおよびbash構成ファイルを追加専用にすることで、それらを強化します。chattr +a /home/user/.bash_history chattr +a /home/user/.bash_profile chattr +a /home/user/.bash_login chattr +a /home/user/.profile chattr +a /home/user/.bash_logout chattr +a /home/user/.bashrc/home/user/.bashrcに次の行を追加して、環境変数を強化します。shopt -s histappend readonly prompt_command="history -a" readonly histfile readonly histfilesize readonly histsize readonly histcmd readonly histcontrol readonly histignorehistappendは、対話型シェルが終了したときに、最後の$ histsize行を$ histfileファイルに追加するようにbashに指示します。 prompt_commandは、各プロンプトを発行する前に、指定されたコマンドを実行します。 history -aは、現在のコマンドの直前に入力されたコマンドを$ histfileに追加します。他のシェルへのアクセスを無効にします。chmod 750 csh chmod 750 tcsh chmod 750 ksh