Home » [GUIDA] Ricevere un e-mail ogni volta che qualcuno accede sul nostro PC (Linux)
Guide Linux

[GUIDA] Ricevere un e-mail ogni volta che qualcuno accede sul nostro PC (Linux)

Il nostro PC, che sia fisso o portatile, è la fonte di tutto ciò che facciamo, di ciò che creiamo, visitiamo, esploriamo. Normalmente, solo noi potremmo accedere al nostro PC, ma può capitare che qualcuno riesca ad entrare con metodi secondari, magari con qualche trucchetto per accendere il PC senza password oppure, chissà come, conosce la nostra password.

Ma non preoccupatevi. Esiste un metodo, su Linux, che permette di farci arrivare una mail quando qualcuno accende il nostro computer, in automatico. Useremo sendEmail su Linux e lo configureremo a dovere, in modo che possa inoltre dirci chi ha eseguito l’accesso, il suo IP, la data e l’ora esatta. Pronti?

Ricevere una mail all’accensione del PC su Linux

NOTAse non siete su distribuzioni Debian-based e non avete a disposizione il comando sudo, provate a sostituire “sudo -s” con “su”. Funzionerà.

Per utilizzare sendEmail avrete bisogno di soddisfare alcune dipendenze, in particolare avrete bisogno di perl e delle relative librerie per la cifratura SSL. Nella maggior parte dei casi queste risultano pre-installate nelle varie distribuzioni, ma non sempre è così e dovete accertarvene (ad esempio su Debian o Ubuntu Server non sono presenti).

A) Aprite un terminale e scrivete:

sudo apt-get install libio-socket-ssl-perl libnet-ssleay-perl perl

B) Iniziate la procedura vera e propria e scaricate sendEmail memorizzandolo su /usr/local/bin per semplificare il tutto:

wget http://pastebin.com/download.php?i=RAxXK9iR -O sendEmail.pl

sudo -s mv sendEmail.pl /usr/local/bin/sendEmail.pl

chmod a+x sendEmail.pl exit

C) Fatto ciò, una volta scaricato e posizionato sendEmail, creata lo script d’avvio che permetterà l’invio del messaggio di posta, per farlo aprite un terminale e digitate (sostituendo gedit con il vostro editor di testo):

sudo -s

gedit /usr/local/bin/inviamail.sh

e date invio. Dentro il file appena aperto incollate (modificando le parti in grassetto):

echo "Utente $USER ha effettuato accesso in data `date`(`echo $SSH_CLIENT | awk '{print $1}'` su `echo $SSH_TTY`)" > /tmp/mailinviata.txt
perl /usr/local/bin/sendEmail.pl -f email@mittente -t email@destinatario -u Oggetto del messaggio -o message-file=/tmp/mailinviata.txt -s server_posta_in_uscita:porta -xu username_account_mittente -xp password_account_mittente -o tls=yes/no
rm /tmp/mailinviata.txt

Prendendo come esempio questo:

  • Mittente: tux1@gmail.com
  • Destinatario: tortugo@gmail.com
  • Oggetto: Login PC
  • Server posta in uscita (in questo caso Gmail, in quanto il mittente è un indirizzo gmail): smtp.gmail.com
  • Porta server posta in uscita: 465
  • Username email mittente: tux1@gmail.com
  • Password email mittente: indovinalapassword
  • Autenticazione SSL/TLS: si

il comando in alto diventerebbe:

echo "Utente $USER ha effettuato accesso alle `date`(`echo $SSH_CLIENT | awk '{print $1}'` su `echo $SSH_TTY`)" > /tmp/mailinviata.txt
perl /usr/local/bin/sendEmail.pl -f tux1@gmail.com -t tortugo@gmail.com -u Login PC -o message-file=/tmp/mailinviata.txt -s smtp.gmail.com:465 -xu tux1@gmail.com -xp indovinalapassword -o tls=yes
rm /tmp/mailinviata.txt

Per i vari parametri da configurare, date anche un’occhiata quì (provider stranieri) o quest’altra (provider italiani). Inoltre, se non utilizzate la protezione SSL/TLS, la porta di default per il server di posta in uscita è solitamente la 25 (potete anche ometterla!).

Protezione PC

Sottolineamo che la password dell’account viene memorizzata in chiaro nel file relativo al comando. Alcuni provider tuttavia permettono l’invio di email senza il bisogno di autenticarsi via SMTP. Per fare un test, potrete tranquillamente omettere i parametri -xu e -xp dal comando precedente. Dovrebbe andare.

Una volta modificato il comando in base alle vostre esigenze, salvate il file ed uscite da gedit. A questo punto assegnate ad esso i permessi ed aggiungetelo sia ad /etc/profile, sia ad /etc/bash.bashrc per fare in modo che sia eseguito per il login da parte di qualsiasi utente, sia da locale che da remoto.

Per fare tutto ciò, aprite un terminale e digitate:

sudo -s

chmod a+x /usr/local/bin/inviamail.sh

echo ‘inviamail.sh’ >> /etc/profile

exit

Finito! Ora riavviate e loggate per verificare il funzionamento del sistema! Il vostro PC sarà al sicuro! (o perlomeno, voi sarete sempre informati)

Sono presenti link non funzionanti nell'articolo?
Segnalalo tramite commento, grazie della collaborazione.

Ti e piaciuto questo articolo?
Supporta il nostro lavoro, facendo una donazione!

Informazioni sull'autore

LucaH2

CEO e Fondatore di questo blog, sono un perito industriale capo-tecnico specializzazione Chimica, ma amo la tecnologia. Sono un appassionato di tutte le novità tecnologiche, con abbastanza esperienza sui sistemi di rete, hardware e software.

Oltre alla tecnologia un’altra grande passione sono le auto e le competizioni, ho abbastanza esperienza nella realizzazione e progettazione di vetture monoposto e biposto.

Desktop Solution