Ikasi Linux komandoa - wtmp

izena

utmp, wtmp - saio-hasierako erregistroak

Laburpena

#include

deskribapena

Utmp fitxategiak sistema bat erabiltzen ari denari buruzko informazioa ezagutzeko aukera ematen du. Baliteke sisteman erabiltzen ari diren erabiltzaile gehiago izatea, programa guztiek ez baitute UTMPren erregistroa erabiltzen.

Abisua: utmp ezin da idazteko gai izan, sistema-programen (ergelki) sistema osotasuna baitute. Sistemaren log fitxategiak faltsutzea eta sistema fitxategien aldaketak arriskua saihestuko duzu edozein erabiltzailek idazteko baimena ematen badu.

Fitxategia sarrerako sekuentzia da, besteak beste, barne fitxategian izendatutako egitura hau (kontuan izan hau hauetariko zenbait definizio bat besterik ez dela: libc bertsioaren araberakoa);

#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 COUNTER 9 #define UT_LINESIZE 12 #define UT_NAMESIZE 32 #define UT_HOSTSIZE 256 struct exit_status {short int e_termination; / * prozesuaren amaierako egoera. * / short int e_exit; / * prozesuaren irteera egoera. * /}; struct utmp {short ut_type; / * saio mota * / pid_t ut_pid; / * Saio-hasierako prozesuaren pid * / char ut_line [UT_LINESIZE]; / * TTY izeneko gailua "/ dev /" * / char ut_id [4]; / * id id edo abbrev. ttyname * / char ut_user [UT_NAMESIZE]; / * Erabiltzaile izena * / char ut_host [UT_HOSTSIZE]; / * urruneko saioaren ostalari izena * / struct exit_status ut_exit; / * DEAD_PROCESS gisa markatutako prozesuaren irteera. * / ut_session luzea; / * saio IDa, * / struct timeval ut_tv leihoetarako erabilia; / * ordua sarrera egin da. * / int32_t ut_addr_v6 [4]; / * Urruneko ostalariaren IP helbidea. * / char pad [20]; / * Etorkizuneko erabilerarako erreserbatuta. * /}; / * Atzera compatibility hacks. * / #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]

Egitura honek erabiltzailearen terminalarekin erlazionatutako fitxategi bereziaren izena, erabiltzailearen saio-izena eta saioaren denbora denbora- formatuan (2) ematen du. Kate-eremuak \ '0 \' amaituko dira eremuan tamaina baino laburragoa bada.

Init (8) inittab prozesatzean sortutako lehen sarrerak (5). Sarrera bat prozesatu baino lehen, nahiz eta init (8) utmp motako DEAD_PROCESS konfiguratu, ut_user , ut_host eta ut_timeak utziz utziz utzitakoa , diskete bakoitza ez da DEAD_PROCESS edo RUN_LVL, eta PID-ekin batera prozesua ez da ut_pid existitzen. Ut_id behar den erregistro hutsarekin aurkitzen ez bada, initek beste bat sortzen du. Ut_id ezartzen du inittab, ut_pid eta ut_time uneko balioak eta ut_type INIT_PROCESS .

getty (8) sarrerak pid-ekin lokalizatzen ditu, aldaketak ut_type LOGIN_PROCESS , aldaketak ut_time , ut_line ezartzen ditu eta konexioa itxarongo du. login (8), erabiltzaileak autentifikatu ondoren, aldatu ut_type USER_PROCESS , aldaketak ut_time , eta ut_host eta ut_addr ezarri . Getty (8) eta saio hasierako (8) arabera, erregistroak ut_line erabilgarri egon daitezke hobespenen arabera .

Init (8) prozesu bat amaitu dela aurkitzen duenean, bere utmp sarrera lokalizatzen du ut_pid- ek; DEAD_PROCESS motako fitxategiak ezartzen ditu eta ut_user , ut_host eta ut_time utziz utziko ditu byte nullekin .

xterm (1) eta beste terminal emuladoreek zuzenean USER_PROCESS erregistro bat sortzen dute eta ut_id sortzen dute / dev / ttyp % c azken bi letrak erabiliz edo % d / dev / pts / % d erabiliz . Dead_PROCESS ID bat aurkitzen badute, birziklatzen dute; bestela, sarrera berri bat sortuko dute. Ezin badute, DEAD_PROCESS gisa markatuko dute irten eta gomendagarria da ut_line , ut_time , ut_user eta ut_host nuluak direla ere.

xdm (8) ezin du utmp erregistroa sortu, ez dagoelako esleitutako terminalik. Sortzeari uzteko akatsak sor ditzake, adibidez 'hatz: ezin da /dev/machine.dom egoera'. Wtmp sarrerak sortu behar ditu, hala ere, ftpd (8) bezala funtzionatzen du.

Telnetd (8) LOGIN_PROCESS sarrera bat sortzen du eta gainerakoa saioa hasteko (8) ohikoa izaten da. Telnet saioa amaitu ondoren, telnetd (8) utmp garbitzen deskribatutako moduan.

Wtmp fitxategiak erregistro guztiak eta saio guztiak erregistratzen ditu. Bere formatua UTMP bezalakoa da, erabiltzaile-izen null batek loturiko konexio bat adierazten du. Gainera, " izena " izeneko "itzaltzea" edo "berrabiarazi" izeneko terminalarekin " sistema itzali edo berrabiarazten du eta terminal izenak " | " / "}" sistemaren sistema zaharra / berria erregistratzen du data (1) aldatzen denean. wtmp login (1), init (1) eta getty (1) bertsio batzuen arabera mantentzen da. Programa horietako inork ez du fitxategia sortzen, beraz kendu egiten bada, erregistroa mantenduz desaktibatuta dago.