Salut,
Fac un script in Python cu care vreau sa analizez procesul de login/logout
de pe o anumita masina (ce useri s-au logat, de unde, cat au stat etc).
Pentru asta, sunt nevoit sa parsez fisierul binar /var/log/wtmp. Fac asta
utilizand modulul python-utmp.
Cand un user se logheaza, in acest fisier apare o inregistare de tipul:
type pid line id user source_host ..
De exemplu:
7 17466 pts/69 s/69 gigi masina1 (0, 0) 0 (1207039887, 504148)
unde type=7(login), login_pid=17466, line='pts/69'

Cand face logout, in wtmp e adaugata o linie in genul:
8 17466 pts/69    (0, 0) 0 (1207039954, 566296)

Observand tipul (type=8=logout), login_pid si line, trag concluzia ca
reprezinta logoutul sesiunii incepute mai sus de userul gigi.

Toate bune si frumoase, numai ca atunci cand userul este root, pid-ul de la
logout este diferit de pidul de la login, si nu mai stiu cum pot cupla
aceste doua evenimente..
De exemplu urmatoarele 2 linii reprezinta login-ul si logout-ul unei sesiuni
pt userul root:
7 29071 pts/17 s/17 root masina2 (0, 0) 0 (1207092520, 428315)
8 29067 pts/17    (0, 0) 0 (1207092550, 21904)
Dupa cum se observa, line ramane identic (pts/17), dar pid-ul se modifica..

Intrebarea e: Cum pot determina momentul in care userul root face logout?
PS: last -ad afiseaza cand root face logout.


-- 
Andrei Dumitrescu
_______________________________________________
RLUG mailing list
[email protected]
http://lists.lug.ro/mailman/listinfo/rlug

Raspunde prin e-mail lui