Mọ aṣẹ Lainos - wtmp

Oruko

utmp, wtmp - igbasilẹ iwọle

Atọkasi

#include

Apejuwe

Faili faili ti n fi aaye gba ọkan lati wa alaye nipa ẹniti o nlo eto yii lọwọlọwọ. Awọn olumulo diẹ sii le wa lọwọlọwọ lilo eto, nitoripe kii ṣe gbogbo awọn eto nlo ijipọ utmp.

Ikilo: utmp ko yẹ ki o jẹ ti o dara, nitori ọpọlọpọ eto eto (aṣiwère) dale lori iduroṣinṣin rẹ. O ni ewu eto awọn faili ati awọn iyipada ti awọn faili eto ti o ba jẹ ki o lo fun gbogbo olumulo.

Fọọmu naa jẹ awọn titẹ sii ti awọn titẹ sii pẹlu eto atẹle ti a sọ sinu faili ti o wa ninu rẹ (akiyesi pe eyi nikan jẹ ọkan ninu awọn asọye pupọ ni ayika; awọn alaye da lori ikede 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 {kukuru int e_termination; / * ipo ifopinsi ilana. * / kukuru int e_exit; / * ipo ipade ilana. * /}; igbe utmp {kukuru ut_type; / * Iru wiwọle * / pid_t ut_pid; / * Pid ti ilana wiwọle * / char ut_line [UT_LINESIZE]; / * orukọ ẹrọ ti tty - "/ dev /" * / char ut_id [4]; / * Init id tabi abbrev. ttyname * / char ut_user [UT_NAMESIZE]; / * orukọ olumulo * / agbara ut_host [UT_HOSTSIZE]; / * hostname fun wiwọle jijin * / igbega exit_status ut_exit; / * Ipo ipolowo ti ilana ti a samisi bi DEAD_PROCESS. * / gun ut_session; / * ID ID, lo fun windowing * / struct timeval ut_tv; / * titẹsi akoko ni a ṣe. * / int32_t ut_addr_v6 [4]; / * Adirẹsi IP ti isakoṣo latọna jijin. * / paadi paadi [20]; / * Ni ipamọ fun lilo ojo iwaju. * /}; / * Afẹyinti idaamu afẹyinti. * / #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]

Ilẹ yii n fun orukọ orukọ faili pataki ti o ni nkan ṣe pẹlu ebute olumulo, orukọ ibuwolu olumulo, ati akoko wiwọle ni akoko akoko (2). Awọn aaye igbẹ ni a ti pari nipasẹ '\ 0' ti wọn ba kuru ju iwọn aaye naa lọ.

Awọn titẹ sii akọkọ ti ṣẹda esi lati inittab (8) inittab (5) processing. Ṣaaju ki o to titẹ titẹ sii, tilẹ, init (8) ṣe iwadii utmp nipasẹ fifi ut_type si DEAD_PROCESS , imukuro ut_user , ut_host , ati ut_time pẹlu awọn adari null fun igbasilẹ kọọkan ti ut_type ko DEAD_PROCESS tabi RUN_LVL ati nibiti ko si ilana pẹlu PID ut_pid wa. Ti ko ba si gbigbasilẹ ipasẹ pẹlu ut_id ti o nilo, init ṣẹda titun kan. O seto ut_id lati inittab, ut_pid ati ut_time si awọn ipo ti isiyi, ati ut_type si INIT_PROCESS .

getty (8) wa ibi titẹsi nipasẹ pid, ayipada ut_type si LOGIN_PROCESS , ayipada ut_time , awọn apẹrẹ ut_line , o duro fun asopọ lati wa ni idasilẹ. buwolu wọle (8), lẹhin ti a ti fi olumulo kan mulẹ , iyipada ut_type si USER_PROCESS , ayipada ut_time , ati ṣeto ut_host ati ut_addr . Ti o da lori getty (8) ati wiwọle (8), igbasilẹ le wa ni nipasẹ ut_line dipo ti preferable ut_pid .

Nigba ti init (8) ba ri pe ilana kan ti jade, o wa ibudo utmp ti ut_pid rẹ , awọn ọna ut_type si DEAD_PROCESS , o si yọ ut_user , ut_host ati ut_time pẹlu awọn idibajẹ nullu.

xterm (1) ati awọn emulamu miiran ti n ṣapamọ ṣe akosile USER_PROCESS kan ati ki o ṣe ina ut_id nipa lilo awọn lẹta meji ti o kẹhin ti / dev / ttyp % c tabi nipa lilo p % d fun / dev / pts / % d . Ti wọn ba ri DEAD_PROCESS fun ID yii, wọn tun ṣiṣẹ rẹ, bibẹkọ ti wọn ṣẹda titẹsi titun kan. Ti wọn ba le, wọn yoo samisi rẹ bi DEAD_PROCESS lori titan ati pe wọn ni imọran pe wọn null ut_line , ut_time , ut_user , ati ut_host bi daradara.

xdm (8) ko yẹ ki o ṣẹda iwe idmpọ, nitori pe ko si ebute ti a yàn. Jẹ ki o ṣẹda ọkan yoo ja si awọn aṣiṣe, gẹgẹbi 'ika: ko le ṣe stat /dev/machine.dom'. O yẹ ki o ṣẹda awọn titẹ sii wtmp, tilẹ, gẹgẹ bi ftpd (8) ṣe.

telnetd (8) ṣafihan titẹsi LOGIN_PROCESS ati ki o fi iyokù silẹ lati buwolu (8) bi o ti ṣe deede. Lẹhin pipin telnet dopin, telnetd (8) ṣe iwadii soke utmp ni ọna ti a ṣalaye.

Faili wtmp naa ṣasilẹ gbogbo awọn titẹ sii ati awọn aami. Iwọn rẹ jẹ gangan bi utmp ayafi pe orukọ aṣoju orukọ kan tọkasi aami kan lori ibudo asopọ. Pẹlupẹlu, orukọ olupin "~" pẹlu orukọ olumulo "didi" tabi "atunbere" n tọka si eto idaduro tabi atunbere ati awọn orukọ awọn ebute "|" / "}" n ṣayẹwo akoko atijọ / akoko titun nigbati ọjọ (1) ba yipada. wtmp ti wa ni muduro nipasẹ wiwọle (1), init (1), ati diẹ ninu awọn ẹya ti getty (1). Bẹni awọn eto wọnyi ko ṣẹda faili naa , nitorina ti o ba yọ kuro, pa a silẹ.