Theutmp fails ļauj atrast informāciju par to, kurš šobrīd izmanto sistēmu. Šobrīd sistēmā var būt vairāk lietotāju, jo ne visas programmas izmanto utmp reģistrēšanu.
Brīdinājums: utmp nedrīkst būt rakstāms, jo daudzas sistēmas programmas (muļķīgi) ir atkarīgas no tā integritātes. Ja jūs pametat, jūs riskējat neveikt sistēmas logfiles un modificēt sistēmas failusutmprakstāms jebkuram lietotājam.
Fails ir ierakstu secība, kam pievienotajā failā ir deklarēta šāda struktūra (ņemiet vērā, ka šī ir tikai viena no vairākām definīcijām; detaļas ir atkarīgas no libc versijas):
#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 GRĀMATOJUMS 9 #define UT_LINESIZE 12 #define UT_NAMESIZE 32 #define UT_HOSTSIZE 256 struct exit_status {short int e_termination; / * procesa pārtraukšanas statuss. * / īss int e_exit; / * procesa izejas statuss. * /}; struct utmp {īss ut_type; / * pieslēgšanās veids * / pid_t ut_pid; / * pid pieteikšanās process * / char ut_line UT_LINESIZE; / * tty ierīces nosaukums - "/ dev /" * / char ut_id 4; / * init id vai saīsinājums. ttyname * / char ut_user UT_NAMESIZE; / * lietotājvārds * / char ut_host UT_HOSTSIZE; / * hostname tālvadības login * / struct exit_status ut_exit; / * Process, kas apzīmēts kā DEAD_PROCESS, statusa izejošais statuss. * / long ut_session; / * sesijas ID, kas tiek izmantots logiem * / struct timeval ut_tv; / * laika ieraksts tika veikts. * / int32_t ut_addr_v6 4; / * Attālās mītnes IP adrese. * / char pad 20; / * Rezervēts izmantošanai nākotnē. * /}; / * Atpakaļ saderības 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
Šī struktūra piešķir īpašā faila nosaukumu, kas saistīts ar lietotāja terminālu, lietotāja vārdu un pieteikšanās laiku formālaiks(2). Stringa lauki tiek izbeigti ar' ' ja tie ir īsāki par lauka lielumu.
Pirmie ieraksti, kas jebkad radīti, radās no tajā (8) apstrāde inittab (5). Lai gan ieraksts tiek apstrādāts, tajā (8) attīra utmp, iestatotut_type uzDEAD_PROCESS, muitošanaut_user, ut_host, unut_time ar nulles baitiem par katru ierakstu, kasut_type navDEAD_PROCESS vaiRUN_LVL un kur nav procesa ar PIDut_pid pastāv. Ja nav tukša pieraksta ar nepieciešamout_id var atrast, init izveido jaunu. Tas nosakaut_id no inittabut_pid unut_time uz pašreizējām vērtībām, unut_type uzINIT_PROCESS.
getty (8) atrod ierakstu ar pid, izmaiņāmut_type uzLOGIN_PROCESS, izmaiņasut_time, komplektiut_line, un gaida, vai savienojums tiks izveidots. Pieslēgties (8), pēc tam, kad lietotājs ir autentificēts, izmaiņasut_type uzUSER_PROCESS, izmaiņasut_time, un komplektiut_host unut_addr. Atkarībā no getty (8) un Pieslēgties (8), ieraksti var atrasties arut_line nevis vēlamāut_pid.
Kad tajā (8) konstatē, ka process ir beidzies, tas atrod savu utmp ierakstu arut_pid, komplektiut_type uzDEAD_PROCESS, un attīraut_user, ut_host unut_time ar null baitiem.
Xterm (1) un citi termināla emulatori tieši radaUSER_PROCESS ierakstīt un ģenerētut_id izmantojot pēdējos divus burti/ dev / ttyp % c vai izmantojotp % d par/ dev / pts / % d . Ja viņi atradīs aDEAD_PROCESS par šo id, viņi pārstrādā to, pretējā gadījumā viņi izveido jaunu ierakstu. Ja viņi to varēs, viņi atzīmēs to kāDEAD_PROCESS iziet, un ir ieteicams, ka tie null ut_line,ut_time, ut_user, unut_host arī.
xdm (8) nevajadzētu izveidot utmp ierakstu, jo nav piešķirts terminālis. Ja to radīs, radīsies kļūdas, piemēram, "pirksts: nevar stat /dev/machine.dom". Tomēr tai vajadzētu izveidot wtmp ierakstus, lai gan, tāpat kā ftpd (8).
telnetd (8) izveido aLOGIN_PROCESS ieiet un atstāj pārējo Pieslēgties (8) kā parasti. Pēc telnet sesijas beigām telnetd (8) attīra utmp aprakstītajā veidā.
Thewtmp fails ieraksta visus logins un logouts. Tās formāts ir tieši tāpatutmp izņemot to, ka nulles lietotāja vārds norāda atteikšanos no saistītā terminālā. Turklāt termināļa nosaukums'~'ar lietotāja vārdu"izslēgt" vai"reboot" norāda sistēmas izslēgšanu vai atsāknēšanu un terminālu nosaukumu pāri'|'/'}' reģistrē veco / jauno sistēmas laiku, kad datums (1) to maina.wtmp tiek uzturēts ar Pieslēgties (1), tajā (1), un dažas versijas getty (1). Neviena no šīm programmām nerada failu, tādēļ, ja tā tiek noņemta, ierakstu izslēgšana ir izslēgta.













