Como obter uma notificação por email quando um dispositivo de armazenamento USB é inserido?

27

Estamos executando mais de 600 sistemas Ubuntu em nossa empresa. É um centro de dados, por isso temos certas políticas. Desabilitamos o uso de dispositivos de armazenamento em todos os sistemas Ubuntu. No entanto, gostaríamos de configurar alertas de email. Se alguém inserir dispositivos de armazenamento, devemos receber um alerta por e-mail com o assunto abaixo,

Email Alert:

STORAGE DEVICE FOUND on IP: 172.29.35.18

Nota:

  • Onde, como no sistema Windows, temos certas políticas aplicadas em nosso controlador de domínio. Portanto, não há problema com o sistema Windows.
  • Também precisamos receber alertas para o sistema Ubuntu. Qualquer maneira de realizar a tarefa acima seria ótima.

Atualização:

  • Algumas coisas que eu gostaria de esclarecer, se o usuário desconectar o cabo de rede e se o usuário usar o usb para transferência de dados? Eu sei que eu não vou receber quaisquer insinuações, mas depois, se eles se conectarem à rede, é possível obter essas notificações pendentes?
  • Alguns usam usb para carregar seus celulares, é possível receber notificações por e-mail também?
por karthick87 24.09.2012 / 08:03

4 respostas

25

A maneira de fazer isso é usar uma regra udev que será aplicada a todos os dispositivos de armazenamento USB de qualquer fabricante. Para a parte de e-mail, observe que o Ubuntu Desktop NÃO inclui nenhum cliente de e-mail de linha de comando, portanto, a menos que você deseje instalá-lo, o script de notificação deve se comunicar diretamente via SMTP para o seu servidor de e-mail local.

    
por ish 27.09.2012 / 01:25
18

Você pode usar o Cuttlefish ( link )!

O Cuttlefish é um programa que pode executar ações quando ocorrem eventos. Por exemplo, você pode executar um comando quando um USB estiver conectado:

Comotrabalharcomochoco:

  1. FaçaumnovoReflexnocantosuperioresquerdo:
  2. Dê o nome de sua preferência, ative Activated by stimulus e clique em None para selecionar um estímulo:
  3. CliquenaesquerdaHardwareeàdireitaUSBdevicepluggedin.Emseguida,cliqueemOK.
  4. Clique na guia de reação e clique no sinal de mais no canto inferior esquerdo:
  5. VáparaAplicativos->Inicieoaplicativo(modoavançado).Emseguida,cliqueemOK.
  6. Agora, à direita, você pode ver que você pode selecionar um executável para rodar com qualquer parâmetro que desejar, então você deve deixar o Cuttlefish rodar na bandeja do sistema e ele executará seu comando toda vez que um dispositivo USB for conectado:

Suponho que você conheça um comando que pode ser usado para enviar seu e-mail. Se não, por favor poste-o como um comentário para incluí-lo em minha resposta.

    
por hytromo 26.09.2012 / 10:31
3

De acordo com esta resposta , adicione este código a /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"

e no arquivo usb.sh , adicione este código

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

echo “USB inserted.” | mutt -a /tmp/usb.log -s “attachment” [email protected]

source

Agora eu vou tentar automatizá-lo, então você pode adicionar esta regra / script em 600 sistemas Ubuntu.
    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” [email protected] " >>/usr/local/bin/usb.sh

Este script não é testado e o processo de automatização será melhorado.
Assim que configurar alguns PCs de teste.

    
por blade19899 26.09.2012 / 12:23
1

Você poderá ver qualquer novo dispositivo usb que não capture apenas o poder do servidor (normalmente ele inclui os telefones)

Para a parte USB: Como posso ouvir eventos 'usb device inserted' no Linux, em Python?

Enviando um e-mail em python: e-mail - Python - Como enviar e-mail utf-8?

Para o ethernet, use netplugd e use as instruções para cima ou para baixo: Ubuntu Manpage: netplugd - daemon de gerenciamento hotplug do cabo de rede

    
por Antoine Rodriguez 29.09.2012 / 18:04