USBプラグインを検出して現在のユーザーを記録する方法

USBプラグインを検出して現在のユーザーを記録する方法

どのユーザーがどのUSBに接続したかを記録し、その情報をサーバーに送信するスクリプトを作成する必要があります。 USBプラグが検出されたら、Pythonスクリプトを実行するudevルールを作成しました。スクリプトは、接続されているUSBに関する情報をログファイルに記録し、その情報をサーバーに送信します。問題は、idコマンドがuid = 0(root)を返すため、スクリプトが現在のユーザーではなくrootとして実行されているように見えることです。 udev-runスクリプトから現在ログインしているユーザーをインポートすることは可能ですか?それ以外の場合、これを行う他の方法はありますか?

答え1

機能的には、次の理由で通常の方法でこれを行うことはできません。

  • 同時に複数のユーザーがログインしている可能性があります。その後、誰もが記録できますが、2番目の問題のため依然として信頼できません。
  • ユーザー名は、システムに実際に存在するユーザー名に確実に変換できません。

あなたならどうでしょうか?本物これを開始すると、whoUSB情報とともにコマンド出力が記録されます。これにより、どの端末で、どこで、いつ有効にログインしたすべての人のリストが提供されます。これにより最初の問題は解決されますが、2番目の問題は解決されません。できないハードウェアを使用せずに2番目の問題を解決します。

または、見てくださいUSBガード、すべてのジョブが認証を必要とするように設定し、誰がデバイスを認証したかを記録します(これはしなければならない接続されていますが、これは保証できません。)

関連情報