回答:
プロセスアカウンティングをオンにすることもできます(s / can / should /!)
その後、以下を使用できます。
lastcomm(1)
コマンドの実行と、execの有無にかかわらず、フォークの後に実行されたかどうかを確認します。
ホストベースのIDSと組み合わせると、「王の正義が彼に行われるために」必要なものが提供されます。
現在、彼らの活動をどのように記録していますか?最も簡単なのは、viからシェルを起動できないようにすることです。
# vi /home/user/.exrc
set exrc
set shell=/bin/false
# chown root:root /home/user/.exrc
# chmod 644 /home/user/.exrc
# chattr +i /home/user/.exrc
特別なシェルを使用してコマンドをログに記録している場合は、viを変更してそのシェルのみを使用することができます。
シェルの歴史について話していますか?viシェルモード(:sh
)はユーザーのデフォルトシェルを起動します。それがbashの場合、グローバル/ etc / bashrcを編集して以下を追加することにより、履歴ロギングが常に有効であることを確認できます。
set HISTFILE=~/.bash_history
shopt -s histappend
PROMPT_COMMAND='history -a'
これにより、すべてのユーザーコマンドがファイルに記録され、上書きされず、シェルプロンプトが表示されるたびに更新されます。
ユーザーは個人的にこれを上書きできる~/.bashrc
ので、これはロギングが行われるという絶対的な保証ではないことに注意してください。
viの一部のバージョン(nviなど)は、viをとして起動することにより、シェルアクセスを無効にするセーフモードをサポートしていますnvi -S
。グローバルエイリアスを設定して、/etc/bashrc
デフォルトでこのモードを強制することもできます。
一般に、ユーザーが予期しない方法でシェルにアクセスするという問題は、典型的なUNIXの問題です。これを完全に無効にする方法はありません。最善の方法は、デフォルトでアクセスを制限することです。高度なユーザー(またはgoogleの使用方法を知っているユーザー)は、常にこれらの制限を回避できます。たとえば、ユーザーがシェルの履歴をログに記録したくない場合、使用したいオプションを使用して常にシェルの新しいコピーを実行することができます。
ここでは、bashでロギングを強制する方法と、ロギングを回避する方法についての優れた記事を紹介します。
最後に、ユーザーに何をしているのかを判断するために話しかけることを検討しましたか?99%の時間、単純な口頭でのコミュニケーションで混乱を解消できます。信頼できないためにこのユーザーのアクティビティをログに記録している場合は、懸念について話し合うことができます。