Sok hasznos program van, amelyekkel a felhasználók be- és kijelentkezéseit vizsgálhatjuk, kérdezhetjük le. Az összeset lehetetlen lenne egy blog keretében átvenni, ezért mi most csak pár, gyakran használt alapvető paranccsal ismerkedünk meg.
Standard bemenethez tartozó konzol száma – tty
Az aktuálisan használt konzol száma a tty paranccsal kérdezhető le:
bash$ tty /dev/tty1 bash$
A tty a Teletype rövidítése és a számítógép előtt ülve történő bejelentkezést jelenti. Távoli bejelentkezés esetén a pts áll rendelkezésünkre:
bash$ tty /dev/pts/0 bash$
A pts a Pseudo-Terminal Slave rövidítése, azaz látszólagos terminál, távolról jelentkeztek be, például SSH-val.
Utóbbi belépések listázása – last
A /var/log/wtmp fájl tárolja a bejelentkezési információkat, amely tartalmát a last paranccsal olvashatjuk el. Megadja, hogy mely felhasználó melyik konzolt használta a bejelentkezéshez, mikor és meddig volt bejelentkezve, zárójelben a hossza. Ha még nem jelentkezett ki az adott felhasználó, akkor a still logged in (azaz: még bejelentkezve) olvasható. Távoli bejelentkezés esetén kijelzésre kerül még a forrás IP-címe is. A kijelzés időben fordított sorrendben történik:
bash$ last jonci tty2 Mon Apr 17 12:34 still logged in pedro tty1 Mon Apr 16 17:13 - 17:14 (00:01) jonci pts/1 10.10.10.2 Tue Apr 15 11:41 - 19:15 (07:34) ... reboot system boot 2.6.26-1-amd64 Thu Apr 2 14:54 - 15:57 (17+01:02) ... bash$
A reboot felhasználó a rendszer újraindítását jelzi. A konzol száma helyén a system boot kernel száma-típusa látható. Ezután következik a rendszer elindulásának dátuma, majd az aktuális időpont, zárójelben a működési időt (uptime), ami a példában 17 nap, 1 óra és 2 perc. Ha nem akarjuk az egész listát megjeleníttetni, akkor a -szám, -n<szám> vagy a -n <szám> paraméter használatával korlátozhatjuk a megjeleníteni kívánt sorok számát:
bash$ last -n1 jonci tty2 Mon Apr 17 12:34 still logged in bash$
Lehetőség van a kijelzett lista szűkítésére a felhasználó nevének megadásával is. Listázzuk ki a jonci felhasználó utolsó 2 belépését:
bash$ last –n2 jonci jonci tty2 Mon Apr 17 12:34 still logged in jonci pts/1 10.10.10.2 Tue Apr 15 11:41 - 19:15 (07:34) bash$
A lista szűkítését kérhetjük a bejelentkezésre felhasznált terminál száma alapján is. Próbaként kérdezzük le az utolsó két bejelentkezést a tty2 terminálra (természetesen pts/<szám> eszközt is megadhattunk volna):
bash$ last –n2 tty2 jonci tty2 Mon Apr 17 12:34 still logged in jonci tty2 Mon Apr 11 06:13 - 06:56 (00:43) bash$
Legutolsó belépések idejének lekérdezése – lastlog
A lastlog segítségével nézhetjük meg a /var/log/lastlog fájl tartalmát. Megjeleníti a használt felhasználói nevet és a bejelentkezéshez használt konzolt (ttyX, pts/X + IP-cím), valamint az időpontot:
bash$ lastlog Felhasználónév Port Innen Legutóbb root pts/0 10.10.2.2 v ápr 19 15:57:37 +0200 2009 daemon **Sosem lépett be** jonci tty1 p ápr 17 00:59:46 +0200 2009 sshd **Sosem lépett be** ... bash$
A -u <felhasználó> paraméterrel szűkíthetjük a kijelzést a megadott felhasználóra:
bash$ lastlog -u jonci Felhasználónév Port Innen Legutóbb jonci tty2 p ápr 17 12:34:46 +0200 2009 bash$
A -t <nap> paraméterrel adhatjuk meg, hogy csak a megadott nap-nál újabb, a -b <nap> esetén pedig a nap-nál régebbi bejegyzések jelenjelen meg:
bash$ date 2009. ápr. 19., vasárnap, 16.48.41 CEST bash$
bash$ lastlog -t 1 Felhasználónév Port Innen Legutóbb root pts/0 10.10.2.2 v ápr 19 15:57:37 +0200 2009 bash$
Sikertelen bejelentkezések lekérdezése – faillog
Lekérdezhető a sikertelen bejelentkezések, amelyeket a /var/log/faillog fájl tartalmaz. Felhasználóra itt is szűkíthetünk a már megszokott -u <felhasználó> paraméter használatával.
bash$ faillog -u jonci Név Hibás Maximális Legutóbbi Ezen jonci 1 0 04/19/09 16:54:14 +0200 pts/0 bash$
A -r kapcsolóval nullázhatjuk a sikertelen belépések számát. A -m <szám> paraméterrel adhatjut meg a maximális sikertelen belépési kísérletek számát. A -l <másodperc> megadásával állíthatjuk be a felhasználó fiókjának zárolását, ha a sikertelen belépések száma eléri a -m paraméterrel megadott értéket (végtelen: -m 0). Az -u paramétert kombinálhatjuk a -r, -m és -l paraméterekkel.
bash$ faillog -u jonci -m 1 -l 10 bash$
bash$ faillog -u jonci Név Hibás Maximális Legutóbbi Ezen jonci 0 1 04/19/09 17:06:59 +0200 pts/0 [10s zárolva] bash$
Érdemes megjegyezni, hogy ha a faillog fájl nem létezik, akkor nem kerülnek tárolásra a sikertelen bejelentkezések!
Konzol zárolása – vlock
Egy vagy több konzol lezárására használható, olyan mint grafikus felületen a jelszavas képernyővédő. Ez különösen akkor hasznos, ha a géphez több ember is odaülhet használni. A vlock által a saját bejelentkezett felhasználónk konzolját elzárhatjuk mások elöl úgy, hogy a többi konzol használható marad. Enter után a jelszavunkat beírjva visszakapjuk a konzolt.
bash$ vlock
This TTY is now locked.
Please press [ENTER] to unlock.
jonci's Password:
bash$
Alapértelmezésben, csak az éppen használt konzolt zárolja a parancs. A -a vagy –all kapcsolókkal az összes konzolt lezárhatjuk. A lezárt konzolok csak az adott felhasználó vagy a root jelszavával nyithatók fel. A vlock engedélyezi a jelszó újbóli beütését korlátok nélkül, így jól válasszuk meg jelszavainkat:
bash$ vlock
This TTY is now locked. Please press [ENTER] to unlock. jonci's Password: vlock-auth: Authentication failure root's Password: