USB 저장 장치를 넣었을 때 이메일 알림을받는 방법은 무엇입니까?


27

우리는 회사에서 600 개 이상의 우분투 시스템을 운영하고 있습니다. 데이터 센터이므로 특정 정책이 있습니다. 모든 우분투 시스템에서 저장 장치 사용을 비활성화했습니다. 그러나 이메일 알림을 구성하고 싶습니다. 누군가 저장 장치를 삽입하면 아래와 같이 제목이 포함 된 이메일 알림이 표시됩니다

이메일 알림 :

STORAGE DEVICE FOUND on IP: 172.29.35.18

노트 :

  • Windows 시스템의 경우 DC에 특정 정책이 적용됩니다. 따라서 Windows 시스템에는 문제가 없습니다.
  • 우분투 시스템에 대한 경고도 받아야합니다. 위의 작업을 수행하는 모든 방법이 좋습니다.

최신 정보:

  • 사용자가 네트워크 케이블 연결을 끊고 데이터 전송에 USB를 사용하는 경우 몇 가지 설명하고 싶습니다. 나는 어떤 친밀감을 얻지 못하지만 나중에 그들이 네트워크에 연결하면 보류중인 알림을받을 수 있습니까 ??
  • 일부는 자신의 휴대 전화를 충전하기 위해 USB를 사용합니다. 이메일 알림도받을 수 있습니까 ??

수퍼 유저 : superuser.com/questions/305723/ 에서이 게시물을 보러 가야 할 것 같습니다. Ben
Ben

답변:


25

이를 수행하는 방법 은 모든 제조업체의 모든 USB 저장 장치에 적용되는 udev 규칙 을 사용하는 것입니다. 전자 메일 부분의 경우 Ubuntu Desktop에는 명령 줄 전자 메일 클라이언트가 포함되어 있지 않으므로 설치하지 않을 경우 알림 스크립트는 원시 SMTP 명령을 통해 로컬 메일 서버와 직접 통신해야합니다.


이것은 나에게서 큰 +1입니다. : D
karthick87

훌륭한 답변, 그리고 이메일과 IP 모두에 필요한 모든 출력을 제공했습니다
LnxSlck

@izx

규칙 파일과 혼동되지 않도록 /etc/udev/rules.d/usbnotif.sh 스크립트를 다른 곳에 저장해야합니다. 기술적으로는 거기에 머물 수 있습니다.
elomage

@ karthick87 : 감사합니다, 몇 시간 후에 전화 / 네트워크 업데이트를 살펴 보겠습니다. 전화 알림은 문제가되지 않지만 네트워크 알림 지연은 각 컴퓨터에 적절한 SMTP 서버 / 클라이언트가 있어야 배달 될 때까지 메일을 대기시킬 수 있습니다. 그러나 나는 내가 무엇을 할 수 있는지 볼 것이다 :)
ish

18

오징어를 사용할 수 있습니다 ( https://apps.ubuntu.com/cat/applications/cuttlefish/ )!

오징어는 이벤트가 발생할 때 작업을 수행 할 수있는 프로그램입니다. 예를 들어, USB가 연결되어있을 때 명령을 실행할 수 있습니다. 여기에 이미지 설명을 입력하십시오

오징어를 사용하는 방법 :

  1. 왼쪽 상단에서 새 반사를 만듭니다. 여기에 이미지 설명을 입력하십시오
  2. 원하는 이름을 지정하고 활성화 한 다음 Activated by stimulus을 클릭 None하여 자극을 선택하십시오. 여기에 이미지 설명을 입력하십시오
  3. 왼쪽 Hardware과 오른쪽을 클릭하십시오 USB device plugged in. 그런 다음 확인을 클릭하십시오. 여기에 이미지 설명을 입력하십시오
  4. 반응 탭을 클릭하고 왼쪽 하단의 더하기 부호를 클릭하십시오. 여기에 이미지 설명을 입력하십시오
  5. 응용 프로그램-> 응용 프로그램 시작 (고급 모드)으로 이동하십시오. 그런 다음 확인을 클릭하십시오. 여기에 이미지 설명을 입력하십시오
  6. 이제 오른쪽에서 원하는 매개 변수로 실행할 실행 파일을 선택할 수 있음을 알 수 있으므로 시스템 트레이에서 Cuttlefish를 실행해야하며 USB 장치가 연결될 때마다 명령이 실행됩니다. 여기에 이미지 설명을 입력하십시오

나는 당신이 당신의 이메일을 보내기 위해 사용할 수있는 명령을 알고 있다고 가정합니다. 그렇지 않은 경우 내 답변에 포함시킬 수 있도록 의견으로 게시하십시오.


600 개의 우분투 시스템에서 오징어를 설치하고 구성 하시겠습니까? 그렇다면 그것은 크고 어려운
karthick87

7
시스템 중 하나에서 오징어를 구성한 후 쉽게 복제 할 수 있습니다 ~/.cuttlefish. 또한 오징어의 로그인 설정에서 자동 시작을 선택하면 (환경 설정에서 찾을 수 있음) 복제하여 모든 시스템에서 자동 시작을 설정할 수 있습니다 ~/.config/autostart/cuttlefish.desktop.
Alex

@ karthick87, Alex가 말한 것. 내가 아는 한 기본적으로 할 수있는 일이 없습니다. 따라서, 당신은 어쨌든 모든 600 시스템에서 무언가를해야합니다 ...
hytromo

결국 결국이 방법이 충분히 편안하다는 것을 의미합니까?
hytromo

3

답변 에 따라이 코드를 추가하십시오./etc/udev/rules.d/90-local.rules

ACTION=="add", SUBSYSTEM=="block", KERNEL=="sd[a-z]1", ATTRS{vendor}=="SanDisk ", RUN+="/usr/local/bin/usb.sh"

과에 usb.sh파일이 코드를 추가

#!/bin/bash
ifconfig | grep ip >>/tmp/usb.log

echo “USB inserted.” | mutt -a /tmp/usb.log -s “attachment” example@hotmail.com

출처


이제 자동화하려고 시도하므로 600 우분투 시스템 에서이 규칙 / 스크립트를 추가 할 수 있습니다.

    sudo echo " ACTION=="add", SUBSYSTEM=="block", KERNEL=="sd[a-z]1", ATTRS{vendor}=="SanDisk ", RUN+="/usr/local/bin/usb.sh" ">>/etc/udev/rules.d/90-local.rules

 #then the `usb.sh`

    sudo echo "     #!/bin/bash
        ifconfig | grep ip >>/tmp/usb.log

        echo “USB inserted.” | mutt -a /tmp/usb.log -s “attachment” example@hotmail.com " >>/usr/local/bin/usb.sh

이 스크립트는 테스트되지 않았 으며 자동화 프로세스가 향상됩니다.
테스트 PC를 설치하자마자.


이것은 나에게서 좋은 +1 인 것 같습니다. 테스트하고 작동 상태를 알려주십시오. 모든 우분투 시스템에 적용 할 수 있도록 ..
karthick87

"SanDisk"이외의 USB 장치를 감지합니까?
Takkat

4
아니요, 이것은 Sandisk에서 만든 장치에서만 작동합니다. 또한 muttUbuntu Desktop에 기본적으로 설치되지 않으며 ifconfig | grep ipnull 출력을 제공합니다.
ish

1

서버의 전원을 끌뿐만 아니라 새로운 USB 장치를 볼 수 있습니다 (스위치는 일반적으로 전화를 포함합니다)

USB 부분 : 파이썬에서 리눅스에서 'usb device insert'이벤트를 어떻게들을 수 있습니까?

python으로 이메일 보내기 : 이메일-Python-utf-8 이메일을 보내는 방법은 무엇입니까?

이더넷의 경우 netplugd를 사용하고 up 또는 down 문을 사용하십시오.
Ubuntu 맨 페이지 : netplugd-네트워크 케이블 핫 플러그 ​​관리 데몬

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.