如何检测USB插入并记录当前用户

如何检测USB插入并记录当前用户

我需要编写一个脚本来记录哪个用户插入了哪个 USB,并将信息发送到服务器。我创建了一个 udev 规则,该规则在检测到 USB 插入时运行 python 脚本。该脚本将有关插入的 USB 的信息写入日志文件,并将该信息发送到服务器。问题是,脚本似乎以 root 身份运行,而不是以当前用户身份运行,因为 id 命令返回 uid=0(root)。是否可以从 udev-run 脚本获取当前登录的用户,如果不能,是否有替代方法可以做到这一点?

答案1

从功能上讲,您无法以任何理智的方式执行此操作,因为:

  • 您可能有多个用户同时登录。然后您可以记录每个人,但由于第二个问题,这仍然不可靠。
  • 用户名无法可靠地转换为系统中实际存在的用户名。

如果你是真的开始执行此操作时,将命令的输出who与 USB 信息一起记录。这将为您提供一个列表,其中列出了所有有效登录的人、在什么终端、从何处以及何时登录。这可以解决第一个问题,但不适用于第二个问题(并且您不能在不涉及任何硬件的情况下解决第二个问题。

或者,看看USB卫士,将其设置为需要授权所有操作,然后记录谁授权了该设备(这应该是插入电源的人,但无法保证这一点)。

相关内容