Come ricevere una notifica quando altri utenti accedono al "mio" sistema?


9

Conosco il whocomando che mi mostra tutti gli utenti che hanno effettuato l'accesso. Ma voglio in qualche modo essere informato quando qualcuno tranne me accede al mio sistema. Qualche applet? Sarebbe anche bello se l'applet mostra il numero di utenti distinti che hanno effettuato l'accesso, il che significa avere una shell di accesso e una connessione ssh stabilita.


A proposito: qualcuno può commentare i tentativi di interruzione. Quindi viene ancora eseguito /etc/profile.d? Immagino che dipenda dall'irruzione, quindi per gli attacchi ssh a forza bruta questo potrebbe reggere, con l'escalation dei diritti dei servizi in esecuzione potrebbe non esserlo. Ahh sembra che il monitoraggio degli utenti non sia un compito facile.
matematica,

Risposte:


10

Per la parte della notifica quando qualcuno accede al tuo sistema, potresti provare a mettere un piccolo script in uno /etc/profile.dscript. Usando notify-send (parte del pacchetto libnotify-bin) puoi provare questo:

/etc/profile.d/notify_log.sh

notify-send -t 3000 "User logged in" `whoami`

e poi, ogni volta che qualcuno accederà al tuo sistema verrai avvisato.

EDIT: Quindi, non funziona bene :( Se hai configurato un server di posta sul tuo computer, puoi usare il comando mail invece di notify-send.

Ma secondo il post qui , la soluzione migliore sarebbe uno script pam_exec .


Buona idea, ma non è necessario renderlo eseguibile e non è necessario disporre di un shebang, poiché i file /etc/profile.d/sono di provenienza. Solo le shell di login (terminali virtuali e login ssh) e alcuni login GUI eseguono l'inizializzazione del profilo.
enzotib,

@enzotib: grazie per i suggerimenti, ho corretto la mia risposta :)
Cédric Julien

Ok, ci ho provato, ma senza fortuna finora. Il motivo è che un utente non può avvisare facilmente un altro. Pertanto, è necessario impostare alcune variabili di ambiente, consultare: g-loaded.eu/2007/11/18/… . Finora ho un eseguibile che fa le cose ma non quando eseguo il login!?! Se source /etc/profile.d/notify_log.shdopo l'accesso tramite SSH, la notifica viene inviata. Immagino che non sia eseguito correttamente dopo il login. Ho osservato /var/log/auth.log senza fortuna. Qualsiasi aiuto?
matematica,

Ho trovato il motivo: uso ZSH e / etc / zsh / zprofile è vuoto, dovrebbe essere necessario generare / etc / profile che a sua volta dovrebbe generare /etc/profile.d/*.sh, ma non fa nulla! > - (.. Prenderò questo in modo esplicito e controllerò tutte le altre shell installate, poiché non so quali shell di accesso sono utilizzate da tutti gli utenti LDAP .. Comunque grazie.
matematica

@brubelsabs: oups, ho modificato la mia risposta con altre soluzioni
Cédric Julien

2

Lo facciamo creando un file /etc/profile.d/notify.shcon il seguente contenuto:

#!/bin/sh

sender="hostname@example.com"
recepient="admingroup@example.com"
subject="Privileged Account logon used"
message="`env`"
    echo "$message" | mail -s "$subject" -r "$sender" -Smtp=mail.example.com "$recepient"

Supponendo che mailx sia installato.


Sì, a volte potresti perdere una notifica sul desktop, ma di solito la posta rimane.
matematica,

@Antonio Devi aggiungere lo script a crontab? Non sembra funzionare.
cokedude,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.