Lærðu Linux Command - wtmp

Nafn

utmp, wtmp - innskráningarskrár

Yfirlit

#include

Lýsing

Utmp skrá gerir þér kleift að uppgötva upplýsingar um hver er að nota kerfið. Það kann að vera fleiri notendur sem nota kerfið, því ekki eru allir forrit notaðir til að nota UTMP skráninguna.

Viðvörun: UTMP má ekki vera skriflegt, vegna þess að mörg kerfisforrit (heimskulegt) eru háð því að hún sé heilbrigt. Þú getur haft áhyggjur af falsum kerfisskrám og breytingum á kerfaskrár ef þú leyfir notendum að nota forritið .

Skráin er röð af færslum með eftirfarandi uppbyggingu lýst í innihaldaskránni (athugaðu að þetta er aðeins ein af nokkrum skilgreiningum, upplýsingar eru háð útgáfu 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 ACCOUNTING 9 #define UT_LINESIZE 12 #define UT_NAMESIZE 32 #define UT_HOSTSIZE 256 struct exit_status {stutt int e_termination; / * ferli lúkningarstaða. * / stutt int e_exit; / * vinna úrgangsstöðu. * /}; struct utmp {stutt ut_type; / * tegund innskráningar * / pid_t ut_pid; / * pid af innskráningarferli * / char ut_line [UT_LINESIZE]; / * tækisafn tty - "/ dev /" * / char ut_id [4]; / * init id eða skammstöfun. ttyname * / char ut_user [UT_NAMESIZE]; / * notandanafn * / char ut_host [UT_HOSTSIZE]; / * gestgjafi fyrir ytri innskráningu * / struct exit_status ut_exit; / * Að loka stöðu ferils merkt sem DEAD_PROCESS. * / langur ut_session; / * fundur ID, notað til gluggakista * / struct timeval ut_tv; / * tími innganga var gerð. * / int32_t ut_addr_v6 [4]; / * IP tölu fjarstýringar. * / bleiku púði [20]; / * Frátekið til framtíðar. * /}; / * Aftur á móti eindrægni * / #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]

Þessi uppbygging gefur nafnið á sérstökum skrá sem tengist notendapunktinum, notandanafninu og tíminn sem tengingin er í formi tíma (2). String sviðum er sagt upp með '\ 0' ef þau eru styttri en stærð svæðisins.

Fyrstu færslurnar sem búið er að búa alltaf til eru vegna upphafs (8) vinnslu inittab (5). Áður en innganga er unnin, þótt init (8) hreinsar upp UTP með því að setja ut_type í DEAD_PROCESS , hreinsar ut_user , ut_host og ut_time með null bæti fyrir hvert skrá sem ut_type er ekki DEAD_PROCESS eða RUN_LVL og þar sem engin aðferð er með PID ut_pid . Ef ekkert tómt skrá með nauðsynlegum ut_id finnst, stofnar init nýjan. Það setur ut_id frá inittab, ut_pid og ut_time í núverandi gildi og ut_type til INIT_PROCESS .

Getty (8) staðsetur færsluna með pid, breytir út_type í LOGIN_PROCESS , breytir ut_time , setur ut_line og bíður eftir að tengingin er komið á fót. Innskráning (8), eftir að notandi hefur verið staðfestur, breytir út_type í USER_PROCESS , breytist út_time og setur ut_host og ut_addr . Það fer eftir getty (8) og innskráningu (8), færslur kunna að vera staðsettar eftir ut_line í stað þess að velja betra út_pid .

Þegar init (8) kemst að því að ferli er lokað, finnur það UTMP færsluna sína með ut_pid , setur ut_type í DEAD_PROCESS og hreinsar ut_user , ut_host og ut_time með null bæti.

xterm (1) og aðrir endalokar emulators búa til USER_PROCESS skrá og búa til ut_id með því að nota síðustu tvö stafina af / dev / ttyp % c eða með því að nota p % d fyrir / dev / pts / % d . Ef þeir finna DEAD_PROCESS fyrir þetta auðkenni, endurvinna þær það, annars búa þau til nýja færslu. Ef þeir geta, munum þeir merkja það sem DEAD_PROCESS á spennandi og það er ráðlagt að þeir endi út_line , ut_time , ut_user og ut_host eins og heilbrigður.

xdm (8) ætti ekki að búa til UTMP skrá, vegna þess að það er ekki úthlutað terminal. Leyfir því að búa til einn mun leiða til villur, svo sem "fingur: getur ekki deilt /dev/machine.dom '. Það ætti að búa til wtmp færslur, þó bara eins og ftpd (8) gerir.

telnetd (8) setur upp LOGIN_PROCESS færslu og skilur afganginn til að skrá sig inn (8) eins og venjulega. Eftir að símnetið lýkur lýkur telnetd (8) hreinsa upp á lýstan hátt.

The wtmp skrá skráir allar innskráningar og logouts. Sniðið hennar er nákvæmlega eins og UTMP nema að nafni notandanafn gefur til kynna útskráningu á tengdri flugstöðinni. Ennfremur táknar flugstöðin nafnið "~" með notandanafninu "lokun" eða "endurræsa" kerfisstöðvun eða endurræsingu og parið af nöfn flugstöðva "|" / "}" skráir gamla / nýja kerfið þegar dagsetningin (1) breytir því. wtmp er haldið við innskráningu (1), init (1) og nokkrar útgáfur af getty (1). Ekkert af þessum forritum skapar skrána , þannig að ef það er fjarlægt er skráningin slökkt.