Tgħallem il-Kmand Linux - wtmp

Isem

utmp, wtmp - rekords tal-login

Sinteżi

#include

Deskrizzjoni

Il-fajl utmp jippermetti li wieħed jiskopri informazzjoni dwar min qed juża s-sistema bħalissa. Jista 'jkun hemm aktar utenti li qed jużaw is-sistema bħalissa, għax mhux il- programmi kollha jużaw il-qtugħ tal-utmp.

Twissija: utmp m'għandux ikun jista 'jinqara, minħabba li ħafna programmi tas-sistema (foolishly) jiddependu fuq l-integrità tiegħu. Inti tirriskja fajls foloz tas-sistema u modifiki tal-fajls tas-sistema jekk titlaq utmp b'kitba .

Il-fajl huwa sekwenza ta 'daħliet bl-istruttura li ġejja ddikjarata fil-fajl jinkludi (innota li din hija biss waħda mid-diversi definizzjonijiet madwar; id-dettalji jiddependu fuq il-verżjoni tal-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 KONTABILITÀ 9 #define UT_LINESIZE 12 #define UT_NAMESIZE 32 #define UT_HOSTSIZE 256 struct exit_status {qasir int e_termination; / * l-istatus tat-terminazzjoni tal-proċess. * / short int e_exit; / * istatus tal-ħruġ tal-proċess. * /}; struct utmp {ut_ty qasir; / * tip ta 'login * / pid_t ut_pid; / * pid tal-proċess ta 'login * / char ut_line [UT_LINESIZE]; / * l-isem tal-mezz ta 'tty - "/ dev /" * / char ut_id [4]; / * init id jew abbrev. ttyname * / char ut_user [UT_NAMESIZE]; / * isem tal-utent * / char ut_host [UT_HOSTSIZE]; / * hostname għal login remot * / struct exit_status ut_exit; / * L-istatus tal-ħruġ ta 'proċess immarkat bħala DEAD_PROCESS. * / sessjoni twila; / * ID tas-sessjoni, użat għat-twieqi * / struct timeval ut_tv; / * id-dħul tal-ħin sar. * / int32_t ut_addr_v6 [4]; / * Indirizz IP ta 'ospitant remot. * / char pad [20]; / * Riservat għal użu fil-futur. * /}; / * Hacks ta 'kompatibilità b'lura. * / #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]

Din l-istruttura tagħti l-isem tal-fajl speċjali assoċjat mat-terminal tal-utent, l-isem tal-utent login u l-ħin tal-login fil-forma ta ' ħin (2). L-oqsma ta 'l-istring huma mitmuma b' '\ 0' jekk huma iqsar mid-daqs tal-qasam.

L-ewwel annotazzjonijiet li qatt inħolqu jirriżultaw mill- inittab (8) proċessar inittab (5). Qabel ma tiġi pproċessata dħul, għalkemm, init (8) tnaddaf utmp billi tistabbilixxi ut_type għal DEAD_PROCESS , ikklerjar ut_user , ut_host u ut_time b'nett bytes għal kull rekord li ut_type mhuwiex DEAD_PROCESS jew RUN_LVL u fejn ma jeżisti l-ebda proċess ma 'PID ut_pid . Jekk l-ebda rekord vojt ma 'l- ut_id meħtieġ jista' jinstab, init joħloq waħda ġdida. Twaqqaf ut_id mill-inittab, ut_pid u ut_time sal-valuri kurrenti, u ut_type lil INIT_PROCESS .

getty (8) jqiegħed id-dħul mill-pid, bidliet ut_type għal LOGIN_PROCESS , bidliet ut_time , settijiet ut_line , u jistenna li tiġi stabbilita konnessjoni. login (8), wara li l-utent ikun ġie awtentikat, bidliet ut_type għal USER_PROCESS , jibdel ut_time , u jistabbilixxi ut_host u ut_addr . Jiddependi fuq getty (8) u login (8), ir-rekords jistgħu jinstabu minn ut_line minflok ut_pid preferibbli.

Meta l- init (8) isib li nħareġ proċess, huwa jqiegħed id-dħul utmp tiegħu minn ut_pid , jistabbilixxi tip ta ' ut_d bħala DEAD_PROCESS , u jneħħi ut_user , ut_host u ut_time b'nett bytes.

xterm (1) u emulaturi terminali oħra joħolqu rekord USER_PROCESS u jiġġeneraw l- ut_id billi jużaw l-aħħar żewġ ittri ta ' / dev / ttyp % c jew billi jużaw p % d għal / dev / pts / % d . Jekk isibu DEAD_PROCESS għal dan l-id, huma jirriċiklawh, inkella joħolqu dħul ġdid. Jekk jistgħu, huma se jimmarkawha bħala DEAD_PROCESS meta joħorġu u huwa avżat li huma null ut_line , ut_time , ut_user u ut_host ukoll.

xdm (8) m'għandux joħloq rekord utmp, minħabba li m'hemm l-ebda terminal assenjat. Li tinħoloq waħda toħloq żbalji, bħal 'finger: can not stat /dev/machine.dom'. Għandha toħloq entrati tal-wtmp, għalkemm, bħad ftpd (8).

telnetd (8) jistabbilixxi dħul LOGIN_PROCESS u jħalli l-bqija biex jidħol (8) bħas-soltu. Wara t-tmiem tas-sessjoni telnet, telnetd (8) tnaddaf utmp bil-mod deskritt.

Il-fajl wtmp jirreġistra l-logins u l-logouts kollha. Il-format tiegħu huwa eżattament bħal utmp ħlief li l-isem ta 'l-utent null jindika l-iskadenza tat-terminal assoċjat. Barra minn hekk, l-isem tat-terminal "~" bl-isem tal-utent "għeluq" jew "reboot" jindika għeluq tas-sistema jew reboot u l-par ta ' / "}" timmarka l-ħin tas-sistema antika / ġdida meta d-data (1) tbiddilha. wtmp tinżamm minn login (1), init (1), u xi verżjonijiet ta ' getty (1). L-ebda wieħed minn dawn il-programmi ma joħloq il- fajl , hekk jekk jitneħħa, iż-żamma tar-rekords tintefa.