Az előző bejegyzésekben megismerhettük a felhasználók tárolásának mikéntjét, valamint a létrehozásuk, módosításuk és eltávolítások lehetőségeit. Ideje megnézni, milyen programok segítségével tudhatunk meg információkat a rendszerben lévő felhasználókról.
Az aktuális felhasználói azonosító lekérdezése – whoami
A whoami program a pillanatnyilag hatályban levő felhasználói azonosító (user ID) alapján kinyomtatja a felhasználói nevet. Egyenértékű az ’id -un’ paranccsal:
bash$ whoami jonci bash$
Bejelentkezett felhasználók egyszerű listázása – users
A parancs által lekérdezhetjük a bejelentkezett felhasználókat. A megjelenített felhasználói neveket egy sima szóközzel választja el. Minden bejelentkezett felhasználó neve annyiszor jelenik meg, ahányszor bejelentkezett a rendszerbe:
bash$ users jonci jonci bash$
Ha nem adunk meg paramétert, akkor az adatokat a /var/run/utmp fájlból veszi, de a parancs után írva megadható más forrásfájl is.
Csoportbeli hovatartozás lekérdezése – groups
Lekérdezhetjük, hogy mely csoportokba is tartozunk, azaz mely csoportoknak vagyunk tagjai:
bash$ groups jonci disk dialout cdrom floppy audio video bash$
Ha nem a saját felhasználónkról szeretnék megtudni az információt, akkor paraméterben felsorolhatjuk azokat a felhasználókat – szóközzel elválasztva –, amelyekre kíváncsiak vagyunk:
bash$ groups jonci pedro jonci : jonci disk dialout cdrom floppy audio video pedro : pedro cdrom floppy audio bash$
Valóságos és effektív UID-eket és GID-eket lekérdezése – id
Paraméter nélküli futtatás esetén kiírja a felhasználóhoz tartozó UID és GID értéket, majd felsorolja, hogy mely csoportokba tartozik bele:
bash$ id uid=1000(jonci) gid=1000(jonci) groups=1000(jonci),5(tty),6(disk), ... bash$
A „-u” paraméterrel a felhasználó UID, a „-g” paraméterrel a GID száma kérdezhető le:
bash$ id -u 1000 bash$
Számok helyett lehetőség van a név megjelenítésére is a „-n” paraméterrel, azonban együtt kell használni vele a „-u”, a „-g” vagy a „-G” paramétert, így a csoport nevét a következőképpen kérdezhetjük le:
bash$ id -ng jonci bash$
A „-G” megadásával azon csoportokat kérdezhetjük le, amelyekben beletartozunk (ugyan azt érjük el, mint a group parancs paraméter nélküli futtatásával)
bash$ id -nG jonci disk dialout cdrom floppy audio video bash$
Bejelentkezett felhasználók lekérdezése – who
Kiírja, hogy ki van bejelentkezve a rendszerbe. Amennyiben az opciókon kívül nincs argumentuma, a who program kinyomtatja minden, pillanatnyilag bejelentkezett felhasználóról a következő információkat:
- bejelentkezési név (login name)
- terminál vonal (terminal line)
- a bejelentkezés ideje (login time)
- távoli gépnév vagy X kijelző (remote hostname or X display)
Ha egyetlen argumentumot (amely nem opció) adunk meg a parancssorban, akkor a who program az így megadott fájlt használja a /var/run/utmp helyett a bejelentkezett felhasználók azonosítására. Szokás a /var/log/wtmp fájlt használni, hogy az előző bejelentkezéseket vizsgálhassuk.
Ha két argumentum adott (amelyek nem opciók), a who csak az őt futtató felhasználó bejegyzését írja ki a gépnevet követően. (Azt, hogy ki futtatja, a standard inputból dönti el.). A hagyomány szerint ez a két argumentum: „am i”, tehát a hívás: ’who am i’, de használható helyette az „-m” paraméter is.
bash$ who am i jonci tty1 Aug 25 01:10 bash$
A „-u” paraméterrel kiírathatjuk a felhasználók aktivitását is. A bejelentkezési idő után kiírja ’óra:perc’ formátumban, hogy a felhasználó mennyi ideje inaktív. A ’.’ (pont) azt jelenti, hogy a felhasználó aktív volt az utolsó percben, az ’old’ pedig azt, hogy a felhasználó 24 óránál régebben volt utoljára aktív. Az utolsó oszlopban a bejelentkezési folyamat azonosító száma kerül kijelzésre.
bash$ who -u jonci tty1 Aug 25 01:10 . 1643 jonci tty2 Aug 23 11:46 old 1210 bash$
Kijeleztethető a felhasználók üzenetfogadási állapota is. A bejelentkezési név után egy jelet is kiír a program a „-w”, „-T”, „–mesg”, „–message”, vagy „–writable” paraméter megadásakor:
bash$ who -w jonci + tty1 Aug 25 01:10 jonci - tty2 Aug 23 11:46 bash$
A jelzések jelentései:
+</strong | a write üzenetek engedélyezettek |
-</strong | a write üzenetek nem engedélyezettek |
?</strong | nem talált terminál eszközt |
Belépett felhasználók és tevékenységük lekérdezése – w
A w információkat jelenít meg arról, hogy jelenleg hány felhasználó van bejelentkezve a gépre és milyen folyamatokat futtatnak. A fejléc a következő információkat jeleníti meg: az időt, mióta működik a rendszer, jelenleg hány felhasználó van belépve és a rendszer átlagos terhelését az elmúlt 1, 5 és 15 percben.
Az alábbiak minden felhasználónak megjelennek: azonosító, a tty neve, a távoli host, ahonnan bejelentkezett, a belépés ideje, a “henyélési” idő (idle, azaz mióta nem dolgozott a géppel), JCPU, PCPU és az éppen futó programjaik parancssora.
A JCPU idő a tty-re kapcsolódástól számítva az összes process idejét jelenti. Ebbe nem számítanak bele a korábbi, háttérben futtatott programok, de a jelenlegiek igen.
A PCPU idő a jelenlegi, ’what’ mezőben is látható processz elindításától számított időt jelöli.
bash$ w 01:29:17 up 1 day, 13:44, 4 users, load average: 1.16, 1.06, 1.01 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT jonci tty1 - 01:10 16:12 0.06s 0.06s -bash bash$
A „-h” paraméterrel elhagyathatjuk a fejlécet. Az „-s” paraméterrel elhagyathatjuk a ’LOGIN’, a ’JCPU’ és a ’PCPU’ oszlopokat. Ha paraméternek felhasználónevet adunk át, akkor csak az adott felhasználóról közöl információkat.
Felhasználói információk megjelenítése – finger
A finger a rendszer felhasználóiról mutat információkat. Ha nem adunk meg egyetlen paramétert sem, akkor a finger minden belépett felhasználó adatait megjeleníti.
Alapesetben a program megmutatja (de utasítható rá az „-s” paraméterrel is) a felhasználó belépési nevét, valódi nevét, terminálját és hogy az írható-e (a terminál neve mögött „*” jelenik meg, ha nem írható), mióta nem dolgozik, mikor lépett be, valamint irodájának helyét és telefonszámát (a /etc/passwd 5. oszlopa, lásd: Felhasználók, csoportok: tárolása a rendszerben). A belépés idejét hónap, nap, óra, perc formában adja meg, kivéve, ha hat hónapnál régebben lépett be; ez esetben az óra és a perc helyett az évet jelzi ki. Az ismeretlen eszközök és a nem létező belépési, valamint nyugalmi időt csillaggal jelzi.
Az „-l” paraméter hatására többsoros megjelenítést használ. Az alapesethez képest kijelzi a használt héj programot, a levelek állapotát, az üzenetfogadási állapotot és a „.forward” , „.plan” valamint „.project” fájlok tartalmát. Az utóbbi két fájl tartalmának a megjelenítését letilthatjuk a „-p” paramétert is megadva.