Linuxシステム管理者で、すべてのシステムユーザーの対話型アクティビティ(実行されるLinuxコマンド)をリアルタイムで監視したいですか。この簡単なLinuxシステムセキュリティガイドでは、システムユーザーが実行したすべてのLinuxシェルコマンドをリアルタイムで表示する方法を説明します。
関連記事: psacctまたはacctツールを使用したユーザーアクティビティの監視方法
システムにbashがある場合、最も一般的に使用されるシェルであるため、通常のシステムユーザーによって実行されたすべてのコマンドが各ユーザーのホームディレクトリに保存される.bash_history
隠しファイルに格納されます。このファイルの内容は、historyコマンドを使用してユーザーが表示することができます。
ユーザーaaronkilikの.bash_history
ファイルを表示するには、次のように入力します:
# cat /home/aaronkilik/.bash_history

上記のスクリーンショットから、コマンドが実行された日付と時刻は表示されません。これは、ほとんどのLinuxディストリビューションでのデフォルト設定です。
このガイドに従って、.bash_historyファイルの各コマンドに日付と時刻を設定できます。
LinuxでSysdigを使用してリアルタイムでユーザーアクティビティを監視する
システム上でユーザーが何をしているか一部窺うために、次のようにw
コマンドを使用できます。
# w

ただし、ターミナルやSSHを介してログインしている別のユーザーが実行しているシェルコマンドのリアルタイムビューを持つために、LinuxでSysdigツールを使用することができます。
Sydigは、Linux用のオープンソースでクロスプラットフォームな強力で柔軟なシステム監視、分析、トラブルシューティングツールです。システムの探索やデバッグに使用できます。
sysdigをインストールしたら、以下のコマンドを実行してspy_users
チゼルを使用してユーザーを監視します。
# sysdig -c spy_users
上記のコマンドは、ユーザーが対話的に起動するすべてのコマンドとユーザーが訪れるすべてのディレクトリを表示します。

以上です。関連する次の記事もチェックしてみてください:
- Linuxサーバーのセキュリティ強化のための25のヒント
- Linuxシステム用のセキュリティ監査およびスキャンツールであるLynis
- Linuxシステム用の10の便利なオープンソースセキュリティファイアウォール
- A Practical Guide to Nmap (Network Security Scanner) in Linux
このシステムセキュリティガイドでは、ユーザーのbash履歴ファイルの表示方法、ログインしているユーザーや彼らの行動の表示方法、およびシステムユーザーによって実行されるすべてのコマンドをリアルタイムで表示または監視する方法について説明しました。
他の方法を共有したい場合や質問がある場合は、以下のコメントセクションから行ってください。
Source:
https://www.tecmint.com/monitor-linux-commands-executed-by-system-users-in-real-time/