Pagina 1 di 1

Piccolo sistema di alert [RISOLTO]

Inviato: mar 23 ott 2012, 18:54
da Burroughs
Buon pomeriggio a tutti, ragazzi...

Per motivi che non vi sto qui a dire, avrei bisogno di controllare chi effettua il login (ma anche il logoff!) sul mio computer.
Per quanto riguardo il primo aspetto della questione (il login), ho trovato questo trick in rete che funziona bene; in pratica si tratta di aggiungere al bashrc dell'utente la seguente istruzione:

Codice: Seleziona tutto

echo 'ALERT - Accesso utente (nome_host) su:' `date` `who` | mail -s "Alert: Accesso utente da `who | cut -d"(" -f2 | cut -d")" -f1`" proprio_indirizzo_email
La cosa funziona, dicevo prima, anche se, per qualche motivo che non so spiegarmi, quando l'utente effettua il login, di email me ne arrivano ben tre.
Non so però come muovermi quando si tratta di tracciare la disconnessione dell'utente dalla macchina.
Mi potete dare una mano?

Burroughs.

Re: Piccolo sistema di alert

Inviato: mar 23 ott 2012, 19:12
da robbybby
Usare il .bash_logout potrebbe risolvere il problema?

Re: Piccolo sistema di alert

Inviato: gio 25 ott 2012, 9:59
da Burroughs
robbybby ha scritto:Usare il .bash_logout potrebbe risolvere il problema?
Sì, grazie, ho risolto così.
Resta il mistero relativo al fatto che vengono generate tre email all'atto della connessione dell'utente ed una sola per il logoff.
Mah...

Burroughs.

Re: Piccolo sistema di alert [RISOLTO]

Inviato: gio 25 ott 2012, 11:53
da JohnnyMnemonic
A costo di impersonare Capitan Ovvio: se il tuo script manda una sola mail per volta, probabilmente il problema risiede nel fatto che .bashrc viene eseguito più di una volta al login, dovresti solo capire perchè, forse viene richiamato o linkato da qualche altro file

Re: Piccolo sistema di alert [RISOLTO]

Inviato: gio 25 ott 2012, 15:41
da conraid
usa .bash_profile, in quando .bashrc è richiamato dalle varie shell
When bash is invoked as an interactive login shell, or as a non-interactive shell with the --login option, it first
reads and executes commands from the file /etc/profile, if that file exists. After reading that file, it looks for
~/.bash_profile, ~/.bash_login, and ~/.profile, in that order, and reads and executes commands from the first one that
exists and is readable. The --noprofile option may be used when the shell is started to inhibit this behavior.

When a login shell exits, bash reads and executes commands from the file ~/.bash_logout, if it exists.

When an interactive shell that is not a login shell is started, bash reads and executes commands from ~/.bashrc, if
that file exists. This may be inhibited by using the --norc option. The --rcfile file option will force bash to read
and execute commands from file instead of ~/.bashrc.

Re: Piccolo sistema di alert [RISOLTO]

Inviato: gio 25 ott 2012, 19:57
da Burroughs
conraid ha scritto:usa .bash_profile, in quando .bashrc è richiamato dalle varie shell [CUT]
Grande, conraid, se non ci fossi bisognerebbe inventarti... =D>
Un'ultima curiosità, che esula dal topic: l'email che il sistema mi manda ha questo oggetto:

Codice: Seleziona tutto

Alert: Accesso utente da alutri tty1 2012-10-25 18:48
ma, in effetti, è stata generata alle 19.49.
Come demone che mi traccia l'orario uso ntpd, con questa configurazione:

Codice: Seleziona tutto

[root@mody ~]# cat /etc/ntp.conf 
# With the default settings below, ntpd will only synchronize your clock.
#
# For details, see:
# - the ntp.conf man page
# - http://support.ntp.org/bin/view/Support/GettingStarted
# - https://wiki.archlinux.org/index.php/Network_Time_Protocol_daemon

# Associate to public NTP pool servers; see http://www.pool.ntp.org/
server 0.pool.ntp.org iburst
server 1.pool.ntp.org iburst
server 2.pool.ntp.org iburst
server 3.pool.ntp.org iburst

# Only allow read-only access from localhost
restrict default noquery nopeer
restrict 127.0.0.1
restrict ::1

# Location of drift and log files
driftfile /var/lib/ntp/ntp.drift
logfile /var/log/ntp.log

# NOTE: If you run dhcpcd and have lines like 'restrict' and 'fudge' appearing
# here, be sure to add '-Y -N' to the dhcpcd_ethX variables in /etc/conf.d/net
Com'è possibile che si verifichi questa discrepanza?

Burroughs.

Re: Piccolo sistema di alert [RISOLTO]

Inviato: gio 25 ott 2012, 23:54
da targzeta
Esegui:

Codice: Seleziona tutto

ntpd -q
te lo aggiorna l'orario?

Emanuele

Re: Piccolo sistema di alert [RISOLTO]

Inviato: gio 25 ott 2012, 23:55
da robbybby
Un problema di differenti impostazioni ora legale, ora solare tra sender e receiver? Aspetta domenica questa, e guarda se la differenza rimane :)

Re: Piccolo sistema di alert [RISOLTO]

Inviato: ven 26 ott 2012, 0:01
da targzeta
In realtà, io penso che ntpd si rifiuti di settare l'orologio quando c'è una differenza molto grande (un'ora) . Io ho settato, nell'ntd.conf queste direttive:

Codice: Seleziona tutto

tinker panic 0
Beh, domenica non dovrebbe avere problemi,
Emanuele

Re: Piccolo sistema di alert [RISOLTO]

Inviato: ven 26 ott 2012, 9:21
da Burroughs
targzeta ha scritto:In realtà, io penso che ntpd si rifiuti di settare l'orologio quando c'è una differenza molto grande (un'ora) . Io ho settato, nell'ntd.conf queste direttive:

Codice: Seleziona tutto

tinker panic 0
Beh, domenica non dovrebbe avere problemi,
Emanuele
Beh, anch'io penso che fra un paio di giorni si sistemerà tutto, però la cosa mi incuriosisce lo stesso.
Proverò a spiegarmi meglio; quando avvio il sistema, ad un certo punto (immagino quando effettuo il login, senza avviare il server grafico), attraverso .bash_profile viene lanciata l'istruzione che ho postato prima.
L'email viene inviata con, nell'oggetto, l'ora sbagliata (un'ora prima) e nel corpo l'ora corretta.
Se, prima ancora di avviare X, lancio un date, l'ora risulta essere corretta.
Un'altra cosa strana che si verifica riguarda spamassassin: quando deve filtrare un'email, si apre una finestra di dialogo in cui mi si chiede quale email voglio considerare, se quella con l'ora X o quella con l'ora X-1.
Terza anomalia: in KDE non riesco ad impostare il fuso orario né come locale né con un fuso orario internazionale.
Davvero strano...

Burroughs.