ユーザーが入力したすべてのコマンドの名前、日付、コマンドを記録する Python スクリプト

ユーザーが入力したすべてのコマンドの名前、日付、コマンドを記録する Python スクリプト

私は、おそらく Python で、サーバー上で入力されたすべてのコマンドをログに記録するスクリプトを作成したいと考えています。つまり、ユーザー、タイムスタンプ、およびコマンドをログに記録します。

これは可能ですか?

答え1

1 - Pythonでこれを実現するにはさまざまなアプローチがあります。記事またはこれ記事すべてのコマンドをログに記録し、Python を使用して解析するのに役立ちます。

2 - 確認することもできますグラセキュリティカーネル レベルで Exec ログを設定します。

3 - 次に、次のような操作を実行できます (簡単な解析コード):

''A very simple log parser for ssh connections to display IP address and their User name'''

SSH_LOG_FILE_NAME = '/var/log/secure'

for line in open(SSH_LOG_FILE_NAME):
  if "sshd" in line:
    if "Accepted" in line:
      print "Connection is accepted from "
      print "User: ", line.split()[8], "IP: ", line.split()[10]
    if "session closed" in line:
      print "Connection is closed from "
      print "User: ", line.split()[10]

PS 2 番目の方がわかりやすく、sed を使用して解析する方法を示しています。すべてのコマンドをログに記録できるようになれば、Python でも簡単に実行できます。

答え2

~/.bash_history を確認してください。このログ記録は簡単に無効にできます。

関連情報