Léiert de Linux Command - wtmp

Numm

UTMP, Wtmp - Logbuch Dateschutz

Synopsis

#include

Beschreiwung

D' utmp- Datei erlaabt eng Informatioun ze entdecken wien deen am Moment den System benotzt. Et kann vläit méi Benotzer sinn am System benotzt, well net all Programmer benotzen utmp Protokoll.

Warning: utmp däerf net schrëftlech sinn, well vill Systemprogramm (haul) hänken vun der Integritéit. Dir riskéiert fëmme Systemprobleemer a Modifikatiounen vun Systemdateien wann Dir utmp schrëftbar ass fir all Benotzer.

De Fichier ass eng Sequenz vun Entréen mat der folgender Struktur, déi an der Include-Datei deklariert ass (Notiz dat et nëmmen eng vun de verschiddene Definitioune ass; d'Hängt vun der Versioun vu libc):

#define UT_UNKNOWN 0 #define RUN_LVL 1 #define BOOT_TIME 2 #definale NEW_TIME 3 #definale OLD_TIME 4 #define INIT_PROCESS 5 #definéiert LOGIN_PROCESS 6 #define USER_PROCESS 7 #Definéier DEAD_PROCESS 8 #Änneren ACCOUNTING 9 #Deie UT_LINISÉIERT 12 #Deie UT_NAMESIZE 32 #Definéiert UT_HOSTSIZE 256 struct exit_status {kuerz int e_terminatioun; / * Prozessstatusstatus. * / kuerz int e_exit; / * Prozess Exitstatus. * /}; Struktur utmp {kurze ut_type; / * Typ vun Login * / pid_t ut_pid; / * pid vun Login * / Char ut_line [UT_LINESIZE]; / * DeviceName vun tty - "/ dev /" * / char ut_id [4]; / * init id oder abbrev. ttyname * / char ut_user [UT_NAMESIZE]; / * Benotzernumm * / Char ut_host [UT_HOSTSIZE]; / * Hostnamme fir Remun Login * / struct exit_status ut_exit; / * De Status vun engem Prozess deen als DEAD_PROCESS bezeechent gëtt. * / laang Ut_session; / * Session ID, déi fir d'Fensteren * / struct timeval ut_tv benotzt; / * Zäit ass eidel gemaach. * / int32_t ut_addr_v6 [4]; / * IP Adress vum Remote Host. * / char pad [20]; / * Reservéiert fir d'Zukunft ze benotzen. * /}; / * Réck Kompatibilitéit Hacks. * / # Ofdecken ut_name ut_user #ifndef _NO_UT_TIME #define ut_time ut_tv.tv_sec #endif #define ut_xtime ut_tv.tv_sec #define ut_addr ut_addr_v6 [0]

Dës Struktur ass den Numm vum spezielle Fichier ass associated mat dem Terminal vum Benotzer, den Loginnumm vum Benotzer an d'Zäit vum Login an der Form vun der Zäit (2). Felder vun String ginn ofgeluecht vum '\ 0', wann se méi kuerz sinn wéi d'Gréisst vum Feld.

Déi éischt Einträg geäntwert erstallt Resultat vum init (8) Veraarbechtung Inittab (5). Virun enger Entrée gëtt verännert, awer wann init (8) d'utmp benotzt, andeems ut_type fir DEAD_PROCESS geläscht gëtt , de ut_user , ut_host a ut_time mat null Bytes fir all Rekord opmaachen, wat ut_type net DEAD_PROCESS oder RUN_LVL ass a wou et kee Prozess mat PID ut_pid gëtt. Wa kee eidel Datensatz mat der néideg ut_id fonnt ginn ass, kreéiert init eng nei. Et stëllt ut_id vum Inittab, ut_pid an ut_time op déi aktuell Wäerter an ut_type un INIT_PROCESS .

Getty (8) locéiert de Entrée vum Pid, ​​Ännerungen ut_type zu LOGIN_PROCESS , ännert ut_time , setzt ut_line , waart op d'Verbindung ze installéieren. Login (8), nodeems e Benotzer authentifizéiert ass, ännert ut_type fir USER_PROCESS , ännert ut_time , an setzt ut_host a ut_addr . Ofhängeg vu Getty (8) an de Login (8) kënnen Opne Daten ugewise ginn ut_line anstatt de preferable ut_pid .

Wann init (8) feststellt datt e Prozess geläscht gouf , fënnt seng utmp-Säit duerch ut_pid , setzt ut_type op DEAD_PROCESS an klickt ut_user , ut_host an ut_time mat null Bytes.

xterm (1) an aner terminal Emulatoren kreéieren Iech e USER_PROCESS- Datematch an generéieren d' ut_id mat der Verwäertung vun de leschten zwou Bréiwer / dev / ttyp % c oder mat p % d fir / dev / pts / % d . Wann se eng DEAD_PROCESS fir dës Id fënns , recykléieren se se, anescht sinn se eng nei Entrée. Wann se kënnen, markéieren se et als DEAD_PROCESS bei der Ausgab an et gëtt berode si si net ut_line , ut_time , ut_user , a ut_host .

xdm (8) däerf keen utmp Rekord erstellen, well et gëtt keen Terminal. Léit et erstellt een eng fehlerhaft Resultat, wéi "Fanger: net stat / dev/machine.dom". Et soll Wtmmp entries erreechen, awer wéi grad wéi ftpd (8).

Telnetd (8) setzt e LOGIN_PROCESS- Eintrëtt op a léisst de Rescht op d' Login (8) wéi ëmmer. No der Telnet Sessioun endlech, telnetd (8) d'utmp op dee beschriwwe Wee.

D' Wtmp Datei records all Logins a Logout. Säin Format ass genee wéi utmp, ausser datt e Null Benotzernumm e Logout op dem assoziéierten Trennkapp steet. Den Termin Numm "~" mat dem Benotzerbezeechnung "shutdown" oder "reboot" bezeechent een System Ausschalt a Restart an de Terminal " Terminal ". / "}" protokolléiert déi al / nei Systemzäit wann dat Datum ët ännert. Wtmp gëtt bezeechent duerch Login (1), Init (1), a verschidde Versiounen vu Getty (1). Keen vun dëse Programmer schafft d ' Datei , also wann ewechgeholl gëtt, kann d'Rekordhale ofgeschalt ginn.