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
