A felhasználókról

A gépen nem csak te dolgozhatsz. A Unixok multiuser operációs rendszerek, így veled egy időben, tőled függetlenül más felhasználókat is ki tudnak szolgálni. Van néhány parancs, ami a bejelentkezett felhasználókról ad információkat, nézzük át őket!

w

Az éppen bejelentkezett felhasználók listázhatók a w paranccsal. Egy példa a w kimentére:

feri@columbo:~$ w
 21:02:39 up  5:54,  2 users,  load average: 0,00, 0,01, 0,05
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    catv-89-134-246- 20:49    1:19   0.44s  0.21s bash
feri     pts/1    catv-89-134-246- 20:51    7.00s  0.50s  0.00s w

A válasz első sora nem a felhasználókról, hanem a rendszer állapotáról ad információkat. Az első adat az aktuális időt mutatja (21:02:39) amit a rendszer ún. uptime-ja, azaz a bekapcsolás óta eltelt idő követ (ez most csak 5 perc 54 másodperc, nemrég indítottam újra). A 2 users jelentése értelemszerű, két felhasználó van bejelentkezve. A load average a rendszer átlagos terhelését mutatja: a három szám az elmúlt 1 percre, az elmúlt 5 percre és az elmúlt negyedórára vonatkozó adat. Az 1 jelentése 100%, ekkor a rendszerben még nincs olyan program, amely valamilyen erőforrásra várna. Ennél magasabb terhelés azt jelenti, hogy a rendszer működése már nem optimális, vannak olyan processzek, amelyeknek valamilyen erőforrásra várniuk kell. (Ez a gyakorlatban sokszor a diszk túlterhelése miatt következik be.) Többrocesszoros gép esetén ezek a számok osztódnak, egy négyprocesszoros gép esetén a 4-es load érték jelenti azt, hogy éppen minden processzt ki tud szolgálni a rendszer.

A további sorok a bejelentkezett felhasználóról adnak információkat. A sor elején a felhasználó bejelentkezési neve látható, a From oszlopban annak a gépnek a neve vagy IP címe, ahonnan bejelentkezett. A Login@ a bejelentkezés időpontját, az Idle a tétlenség idejét mutatja, vagyis azt az időt, ami a felhasználó utolsó tevékenysége óta eltelt. A JCpu és a PCpu a processzor használatára vonatkozó adat, számunkra most nem fontosak. A What oszlopban a felhasználó által éppen futtatott program neve és paraméterei láthatók.

Note

Az, hogy a w parancs bárki számára láthatóvá teszi, hogy az egyes felhasználók éppen milyen parancsot futtatnak, felvet egy biztonsági problémát. Ebben ugyanis a parancs kiadásának pillanatában minden felhasználó parancsai és azok paraméterei is láthatók. Emiatt tervezték úgy a passwd parancsot úgy, hogy a jelszavak megváltoztatása csak interaktív módon történhet, ezért hogy nem adható meg paramétereként az új jelszó. Ha ez nem így lenne, a felhasználók egy alkalmas időpontban kiadott w paranccsal látnák, hogy egy másik felhasználó épp milyen új jelszót állít be magának.

last

Az egyes felhasználók bejelentkezéseit a rendszer logolja (rögzíti), erről részletesen lesz szó a Logok fejezetben. A last paranccsal megtekinthetők a korábbi bejelentkezések adatai. Lássuk ezt egy példán!

feri@columbo:~$ last
feri     pts/0        54005096.dsl.poo Sat Jul  8 08:35   still logged in
root     pts/0        catv-89-134-252- Sat Jul  8 00:06 - 02:13  (02:07)
koczka.f pts/0        catv-89-134-252- Sat Jul  8 00:06 - 00:06  (00:00)
root     pts/2        backup.ektf.hu   Fri Jul  7 13:08 - 13:08  (00:00)
feri     pts/0        catv-89-134-252- Wed Jul  5 01:45 - 16:45 (2+14:59)
koczka.f pts/0        catv-89-134-252- Tue Jul  4 17:18 - 17:42  (00:24)
reboot   system boot  3.13.0-77-generi Tue Jul  4 14:30 - 08:43 (3+18:12)
koczka.f pts/1        catv-89-134-252- Tue Jul  4 14:23 - down   (00:06)
root     pts/1        redax-desktop.ek Tue Jul  4 07:23 - 07:24  (00:00)
feri     pts/0        catv-89-134-252- Mon Jul  3 21:51 - down   (16:38)
feri     pts/1        catv-89-134-252- Sun Jul  2 20:08 - 01:14  (05:06)
feri     pts/3        catv-89-134-252- Sun Jul  2 15:29 - 16:55  (01:26)
feri     pts/1        catv-89-134-252- Sun Jul  2 12:37 - 16:04  (03:27)
feri     pts/1        catv-89-134-252- Sun Jul  2 12:34 - 12:36  (00:01)
feri     pts/1        91ecd2c2.dsl.poo Sun Jul  2 10:27 - 10:36  (00:09)
feri     pts/0        catv-89-134-252- Sat Jul  1 11:59 - 14:14 (2+02:14)
wtmp begins Sat Jul  1 11:59:37 2017

A parancs kimenete a felhasználó bejelentkezési nevével kezdődik (feri, root, koczka.ferenc, reboot). A második oszlopban levő adattal most nem foglalkozunk, a harmadikban annak a gépnek a neve vagy IP címe látható, ahonnan bejelentkezett (catv kezdetű sorok a UPC, a dsl.pool tartalmú helyek a Telekom ADSL vonalaira szoktak utalni). A következő oszlopok a bejelentkezés kezdetét és végét mutatják (a still logged in azt jelenti, hogy a felhasználó még mindig itt van). A last paraméterezés nélkül csak az aktuális hónap bejelentkezési eseményeit mutatja.

Note

A Linuxok különböző fájlokba sok eseményt logolnak, a bejelentkezésekkel kapcsolatos eseményeket pl. a /var/log/wtmp nevű fájlba írják. Más eseményeket más fájlokban rögzítenek, pl. minden egyes e-mail küldését és fogadását. A logok nagyban megkönnyítik a rendszergazdák munkáját, ezekre alapozva visszakereshető, hogy mikor mi történt a rendszeben, és azonosíthatók korábban bekövetkezett hibák is. Biztosan feltűnt, hogy a last fenti kimenetében kétszer is bejelentkezett a reboot nevű felhasználó. Ez a gép újraindítását jelenti. A logrotate-reference-label fejelezetben maj látni fogod, hogy miért nem nőhetnek ezek a logfájlok a végtelenségig, teljesen teleírva a merevlemezt.