USB 플러그인을 감지하고 현재 사용자를 기록하는 방법

USB 플러그인을 감지하고 현재 사용자를 기록하는 방법

어떤 사용자가 어떤 USB에 연결했는지 기록하고 해당 정보를 서버로 보내는 스크립트를 작성해야 합니다. USB 플러그가 감지되면 Python 스크립트를 실행하는 udev 규칙을 만들었습니다. 스크립트는 연결된 USB에 대한 정보를 로그 파일에 기록하고 해당 정보를 서버로 보냅니다. 문제는 id 명령이 uid=0(root)을 반환하기 때문에 스크립트가 현재 사용자가 아닌 루트로 실행되는 것처럼 보인다는 것입니다. udev-run 스크립트에서 현재 로그인한 사용자를 가져오는 것이 가능합니까? 그렇지 않은 경우 이를 수행하는 다른 방법이 있습니까?

답변1

기능적으로 다음과 같은 이유로 정상적인 방식으로 이 작업을 수행할 수 없습니다.

  • 동시에 여러 사용자가 로그인되어 있을 수 있습니다. 그런 다음 모든 사람을 기록할 수 있지만 두 번째 문제로 인해 여전히 신뢰할 수 없습니다.
  • 사용자 이름은 시스템에 실제로 존재하는 사용자 이름으로 안정적으로 변환될 수 없습니다.

당신이라면 어떨까요?진짜이 작업을 시작하면 whoUSB 정보와 함께 명령 출력을 기록합니다. 그러면 어떤 터미널에서, 어디서, 언제 유효하게 로그인한 모든 사람의 목록이 제공됩니다. 이렇게 하면 첫 번째 문제가 해결되지만 두 번째 문제는 해결되지 않습니다.할 수 없다하드웨어를 사용하지 않고 두 번째 문제를 해결하십시오.

아니면, 좀 보세요USB 가드, 모든 작업에 인증이 필요하도록 설정한 다음 누가 장치를 인증했는지 기록합니다(이것은~해야 한다연결되어 있지만 이를 보장할 수는 없습니다.)

관련 정보