Baro Command Linux - wtmp

Magaca

utmp, wtmp - diiwaanada galalka

Muujinta

#six

Sharaxaad

Faylka utmp wuxuu u ogolaanayaa mid ka mid ah inuu helo macluumaadka ku saabsan cidda hadda isticmaalaysa nidaamka. Waxaa jiri kara dad badan oo isticmaala nidaamka, sababtoo ah dhammaan barnaamijyada ma isticmaalaan kaydka utmp.

Digniinta: utmp waa inaysan qorin, sababtoo ah barnaamijyo badan oo nidaam ah (nacasnimo) waxay ku xiran yihiin daacadnimadooda. Waxaad halis u tahay nidaamka nidaamka iyo nidaamyada faylasha nidaamka haddii aad ka baxdo utmp qoraaga qof kasta.

Faylka waa taxanaha gelitaanka qaab dhismeedka soo socda ee ku xusan feylka ku jira (xusuusnow in tani ay tahay mid ka mid ah dhowr qeexitaan oo ku xeeran, faahfaahin waxay ku xiran tahay nooca libc):

#define UT_UNKNOWN 0 #define RUN_LVL 1 #define BOOT_TIME 2 #define NEW_TIME 3 #define OLD_TIME 4 #define INIT_PROCESS 5 #define LOGIN_PROCESS 6 #define USER_PROCESS 7 #define DEAD_PROCESS 8 #define account 9 #define UT_LINESIZE 12 #define UT_NAMESIZE 32 #define UT_HOSTSIZE 256 exit_status {gaaban gaaban; Xaaladda joojinta nidaamka. * / gaaban e_exit gaaban; / * Xaaladda ka-bixitaanka nidaamka. * /}; qalab utmp {short ut_type; / nooca login * / pid_t ut_pid; / * Pid ee nidaamka galitaanka * / char ut_line [UT_LINESIZE]; / * magaca qalabka ee tty - "/ dev /" * / char ut_id [4]; / * Tababar ama abbrev. ttyname * / char ut_user [UT_NAMESIZE]; / * magaca isticmaalaha * / char ut_host [UT_HOSTSIZE]; / * magaca martida ee loogu talagalay galo fog * * / exit_status ut_exit; / * Xaaladda ka-baxida ee nidaam lagu calaamadeeyay DEAD_PROCESS. * / U diyaarso dheer; / * Aqoonsiga kalfadhiga, loo isticmaalo daaqada * / jadwalka qaab-dhismeedka ut_tv; / * gelitaanka waqtiga ayaa la sameeyey. * / int32_t ut_addr_v6 [4]; / * Cinwaanka IP ee martida fog. * / jaangooyada [20]; / * Waxaa loo kaydiyaa isticmaalka mustaqbalka. * /}; / * Cajaladda dib-u-celinta dib u noqosho. * / #define 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]

Qaabkani wuxuu siiyaa magaca faylka gaarka ah ee la xidhiidha terminal-ka isticmaalaha, magaca isticmalaha isticmaalaha, iyo waqtiga lagu galo qaabka (2). Goobaha dardargelintu waxay joojiyaan '\ 0' haddii ay ka gaaban yihiin baaxadda dhulka.

Waxyaabaha ugu horreeya abid waxay abuureen Natiijada ka soo baxda init (8) inittab (5). Ka hor inta aan la galin, Daawada (8) waxay ku nadiifisaa utmp adigoo dejinaya ut_type DEAD_PROCESS , tirtirka ut_user , ut_host , iyo ut_time leh nambarrada nuqul kasta oo ah ut_type ma aha DEAD_PROCESS ama RUN_LVL iyo halka habka loo yaqaan PID ut_pid jirin. Haddii aan la haynin faahfaahin rasmi ah oo loo baahan yahay ut_id loo baahan yahay, dallac ayaa abuuraya mid cusub. Waxay ka dhigeysaa ut_id ka soo duubab , ut_pid iyo ut_time ilaa qiimaha hadda, iyo ut_type INIT_PROCESS .

gawaarida (8) waxay ku xiran tahay soo gelitaanka pid, waxay bedeleysaa ut_type LOGIN_PROCESS , isbedelka ut_time , wuxuu dhigaa ut_line , waxayna sugeysaa isku xirka. login (8), ka dib markii user la aqoonsaday, isbedel ut_type in USER_PROCESS , isbedelo ut_time , iyo dhigay ut_host iyo ut_addr . Iyada oo ku xiran barashada (8) iyo login (8), diiwaanka waxaa laga heli karaa ut_line halkii laga rabi lahaa ut_pid .

Marka bilaabashada (8) ay ogaato in geeddi-socodku ka baxo, waxa uu ku-meel-gaadhsiisaa utmp-ga ah ut_pid , wuxuu dhigaa ut_type- ga DEAD_PROCESS , oo wuxuu ka nadiifiyaa ut_user , ut_host iyo ut_time oo leh nullo null.

xterm (1) iyo emulators kale oo toos ah ayaa si toos ah u abuuraya diiwaanka USER_PROCESS isla markaana abuuraa ut_id adigoo isticmaalaya laba waraaqadood oo ugu dambeyn / dev / qusq ah % c ama adigoo isticmaalaya p % d / dev / pts / % d . Haddii ay helaan DEAD_PROCESS tan idan , waxay dib u cusbooneysiinayaan, haddii kale waxay abuurayaan cusub cusub. Haddii ay awoodaan, waxay ku calaamadin doonaan DEAD_PROCESS markaad ka baxdo oo waxaa lagula talinayaa in ay diidaan ut_line , ut_time , ut_user , iyo ut_host .

xdm (8) waa in aan la abuurin diiwaanka utmp, sababtoo ah ma jirto meel aan la dhigan. U ogolaanshaha in uu abuuro mid waxay dhalin doontaa qalad, sida 'farta: ma geli karo stat /dev/machine.dom'. Waa inay sameeyaan gelitaanada wtmp, inkastoo, sida ftpd (8) sameeyo.

telnetd (8) wuxuu dajiyaa gelitaanka LOGIN_PROCESS waxana uu ka tagaa inta kale si login (8) sida caadiga ah. Ka dib marka uu dhammaado kulanka telnetka , telnetd (8) wuxuu ku nadiifiyaa sifaha habka loo sharaxay.

Faylka wtmp wuxuu diiwaangeliyaa dhammaan xisaabaadka iyo xisbiyada. Qaabkeeduna waa sida utmp marka laga reebo in magaca isticmaale bixiyaha ah uu muujinayo xisaab-celin ku saabsan terminaalka la xidhiidha. Intaas waxaa dheer, magaca qoraalka "~" ee magaca isticmaalaha "xiridda" ama "reboot" waxay muujinaysaa xiridda nidaamka ama dib u furida iyo labada magac ee magacyada terminal "|" / "}" waxay qortaa wakhtigii hore / cusub nidaamka taariikhda (1) isbedeley. Wtmp waxaa lagu hayaa login (1), init (1), iyo noocyada qaar ka mid ah barashada (1). Midkoodna barnaamijyadani ma abuuro faylka , sidaas darteed haddii la soo saaro, diiwaanka-ilaalinta ayaa la damiyaa.