Bir USB depolama aygıtı takıldığında bir e-posta bildirimi nasıl alınır?


27

Şirketimizde 600'den fazla Ubuntu sistemi kullanıyoruz. Bu bir veri merkezidir, bu yüzden bazı politikalarımız var. Tüm Ubuntu sistemlerinde depolama cihazlarının kullanımını devre dışı bıraktık. Ancak, e-posta uyarıları yapılandırmak istiyoruz. Birisi depolama aygıtı yerleştirirse, aşağıdaki gibi bir konuyla ilgili bir e-posta Uyarısı almalıyız:

E-mail alarmı:

STORAGE DEVICE FOUND on IP: 172.29.35.18

Not:

  • Windows sistemi için, DC'imizde uygulanmakta olan belli politikalarımız var. Yani Windows sistemiyle ilgili bir sorun yok.
  • Ayrıca Ubuntu sistemi için de uyarı almamız gerekiyor. Yukarıdaki görevi başarmanın herhangi bir yolu çok iyi olurdu.

Güncelleştirme:

  • Aydınlatmak istediğim birkaç şey var, eğer kullanıcı ağ kablosunu çıkarırsa ve kullanıcı veri aktarımı için usb kullanıyorsa? Herhangi bir intimasyon alamayacağımı biliyorum ama daha sonra ağa bağlanırlarsa bu bekleyen bildirimleri almak mümkündür.
  • Bazı cep telefonlarını şarj etmek için usb kullanır, bunun için de e-posta bildirimleri almak mümkün mü ??

Bence bu yazıyı superuser'da görmelisin: superuser.com/questions/305723/… Ben
Ben

Yanıtlar:


25

Bunu yapmanın yolu , herhangi bir üreticiden gelen tüm USB depolama aygıtlarına uygulanacak bir udev kuralı kullanmaktır . E-posta kısmı için, Ubuntu Desktop’ın herhangi bir komut satırı e-posta istemcisi içermediğini unutmayın, bu nedenle bir tane yüklemek istemediğiniz sürece, bildirim komut dosyasının doğrudan ham SMTP komutları aracılığıyla yerel posta sunucunuza iletmesi gerekir.


Bu benden Büyük +1: D
karthick87

Müthiş cevap, hem e-posta hem de ip olmak üzere tüm çıktı gereksinimini verdi
LnxSlck 28:12

@izx, güncelleme hakkındaki
soruma göz atmanızı istiyor

Belki, /etc/udev/rules.d/usbnotif.sh betiği, kural dosyalarının karışmasını önlemek için başka bir yerde saklanmalıdır. Her ne kadar teknik olarak orada kalabilir.
elomage

@ karthick87: teşekkürler, birkaç saat içinde telefon / ağ güncellemesine bakacağım. Telefon bildirimi bir sorun olmamalıdır, ancak ağ bildirimi gecikmesi, her makinede teslim edilinceye kadar postayı sıralayabilen uygun bir SMTP sunucusu / istemcisi olmasını gerektirebilir. Ama ne yapabileceğime bakacağım :)
ish

18

Mürekkepbalığı kullanabilirsiniz ( https://apps.ubuntu.com/cat/applications/cuttlefish/ )!

Mürekkepbalığı, olaylar meydana geldiğinde işlem yapabilen bir programdır. Örneğin, bir USB fişi takılı olduğunda bir komut çalıştırabilirsiniz: görüntü tanımını buraya girin

Mürekkepbalığı ile nasıl çalışılır:

  1. Sol üst köşeden yeni bir Refleks yapın: görüntü tanımını buraya girin
  2. Tercihinizi belirtin, etkinleştirin Activated by stimulusve Nonebir uyaran seçmek için üzerine tıklayın : görüntü tanımını buraya girin
  3. Sola Hardwareve sağa tıklayın USB device plugged in. Ardından Tamam'ı tıklayın. görüntü tanımını buraya girin
  4. Reaksiyon sekmesine tıklayın ve sol alttaki artı işaretine tıklayın: görüntü tanımını buraya girin
  5. Uygulamalar-> Uygulamayı Başlat (gelişmiş mod). Ardından Tamam'ı tıklayın. görüntü tanımını buraya girin
  6. Şimdi, sağ tarafta, istediğiniz parametrelerle çalışacak bir yürütülebilir dosya seçebileceğinizi görebilirsiniz, böylece Mürekkepbalığı'nın sistem tepsisinde çalışmasına izin vermelisiniz ve bir USB cihazı her takıldığında komutunuz çalışacaktır: görüntü tanımını buraya girin

E-postanızı göndermek için kullanabileceğiniz bir komut bildiğinizi varsayıyorum. Değilse, lütfen cevabımı eklemek için yorum olarak gönderin.


Mürekkep balığı takmamı ve tüm 600 ubuntu sistemlerinde yapılandırmamı ister misiniz? O zaman bu büyük ve zor bir iştir ..
karthick87

7
Mürekkep balıklarını sistemlerden birinde yapılandırdıktan sonra kolayca klonlayabilirsiniz ~/.cuttlefish. Ayrıca mürekkep balığı giriş işleminde otomatik başlatmayı tıklarsanız (tercihlerde bulabilirsiniz), klonlayarak her makinede otomatik başlatmayı ayarlayabilirsiniz ~/.config/autostart/cuttlefish.desktop.
Alex

@ karthick87, Alex ne dedi. Bildiğim kadarıyla varsayılan olarak yapabileceğiniz bir şey yok. Öyleyse, tüm 600 sistemlerde bir şeyler yapmalısın ...
htromo

Bu, sonuçta bu şekilde yeterince rahat bulduğunuz anlamına mı geliyor?
hytromo

3

Bu cevaba göre , bu kodu/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"

ve usb.shdosyaya bu kodu ekleyin

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

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

kaynak


Şimdi onu otomatikleştirmeye çalışacağım, bu yüzden bu kuralı / betiği 600 Ubuntu sistemine ekleyebilirsiniz.

    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

Bu komut dosyası test edilmedi ve otomatikleştirme işlemi geliştirildi.
Bazı test bilgisayarlarını kurduğumda.


Bu benden iyi +1 gibi görünüyor, lütfen test edin ve çalışma durumunu bildirin. Böylece bütün ubuntu sistemlerinde uygulayabiliyorum ..
karthick87

Bu, "SanDisk" tarafından yapılanlar dışındaki USB aygıtlarını algılar mı?
Takkat

4
Hayır, bu yalnızca Sandisk tarafından üretilen cihazlar için işe yarar. Ek olarak, muttUbuntu Desktop’a varsayılan olarak yüklenmez ve ifconfig | grep ipboş bir çıktı verir.
imsi

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.