システムユーザーによって実行されたLinuxコマンドをリアルタイムで監視する方法


あなたはLinuxシステム管理者であり、すべてのシステムユーザの対話的な活動(彼らが実行するLinuxコマンド)をリアルタイムで監視したいです。この簡単なLinuxシステムセキュリティガイドでは、システムユーザによって実行されたすべてのLinuxシェルコマンドをリアルタイムで表示する方法について説明します。

システムに bash がある場合、最も一般的に使用されるシェルは、通常のシステムユーザーによって実行されるすべてのコマンドが .bash_history 隠しファイルに格納され、各ユーザーに保存されます。ホームディレクトリこのファイルの内容はhistoryコマンドを使ってユーザーが見ることができます。

ユーザーの aaronkilik's .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

上記のコマンドは、ユーザーが対話的に起動するすべてのコマンドと、ユーザーがアクセスするすべてのディレクトリを表示します。

それだけで、以下の関連記事もチェックすることができます。

  1. 25 Hardening Security Tips for Linux Servers
  2. Lynis – Security Auditing and Scanning Tool for Linux Systems
  3. 10 Useful Open Source Security Firewalls for Linux Systems
  4. A Practical Guide to Nmap (Network Security Scanner) in Linux

このシステムセキュリティガイドでは、ユーザーのbash履歴ファイルの表示方法、ログオンユーザーの表示方法、およびシステムユーザーが実行したすべてのコマンドをリアルタイムで表示または監視する方法について説明しました。

他の方法を共有したい、または質問したい場合は、以下のコメント欄で行ってください。