Ionnsaich an Command Command - wtmp

Ainm

utmp, wtmp - clàran logaidh

Synopsis

#include

Tuairisgeul

Tha am faidhle utmp a ' toirt cothrom do neach faighinn a-mach fiosrachadh mu cò a tha an-dràsta a' cleachdadh an t-siostaim. Dh'fhaodadh gu bheil barrachd luchd-cleachdaidh an-dràsta a 'cleachdadh an t-siostaim, seach nach eil a h-uile prògram a' cleachdadh logadh utmp.

Rabhadh: cha bu chòir utmp a bhith air a sgrìobhadh, oir tha mòran phrògraman siostam (gòrach) an crochadh air a ionracas. Bidh thu a 'cunntadh clàran-clàraidh siostam fiadhaich agus atharrachaidhean air faidhlichean siostam ma dh'fhàgas tu utmp a ghabhas sgrìobhadh gu neach-cleachdaidh sam bith.

Is e an fhaidhle sreath de dh 'inntrigidhean leis an structar a leanas air a chur an cèill san fhaidhle a tha a' gabhail a-steach (comharraich nach e seo ach aon de ghrunn mhìneachaidhean mun cuairt; tha mion-fhiosrachadh an urra ris an dreach 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 {geàrr-chunntas e; / * inbhe crìochnachaidh a 'phròiseis. * / short int e_exit; / * inbhe fàgail pròiseas. * /}; struct utmp {short ut_type; / * seòrsa logadh a-steach * / pid_t ut_pid; / * pròiseas logadh a-steach * / char ut_line [UT_LINESIZE]; / * ainm inneal tty - "/ dev /" * / char ut_id [4]; / * init id no abbrev. ttyname * / char ut_user [UT_NAMESIZE]; / * ainm cleachdaiche * / char ut_host [UT_HOSTSIZE]; / * ainm-aoigheachd airson logadh a-steach iomallach * / struct exit_status ut_exit; / * An inbhe fàgail a 'phròiseis air a chomharrachadh mar DEAD_PROCESS. * / fada ut_session; / * ID seisean, air a chleachdadh airson uinneag * / struct timeval ut_tv; / * chaidh inntrigeadh a dhèanamh airson ùine. * / int32_t ut_addr_v6 [4]; / * Seòladh IP an aoigheachd iomallach. * / puing char [20]; / * Glèidhte airson an cleachdadh san àm ri teachd. * /}; Ceangalaichean BBC * / #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]

Tha an structar seo a 'toirt seachad ainm an fhaidhle shònraichte a tha co-cheangailte ri ceann-uidhe an neach-cleachdaidh, ainm logadh a' chleachdaiche, agus an àm a tha thu a 'logadh a-steach ann an cruth ùine (2). Tha achaidhean teine ​​air an crìochnachadh le '\ 0' ma tha iad nas giorra na meud an achaidh.

A 'chiad toradh a chaidh a chruthachadh a-riamh bho thoradh tòiseachaidh (8) deiseil (5). Mus tèid pròiseas a chur a-steach, ge-tà, bidh init (8) a 'glanadh suas utmp le bhith a' suidheachadh ut_type gu DEAD_PROCESS , a ' gleidheadh ​​ut_user , ut_host , agus ut_time le null byte airson gach clàr nach eil ut_type DEAD_PROCESS no RUN_LVL agus far nach eil pròiseas ann le PID ut_pid ann. Mura lorgar clàr falamh leis an ut_id a tha a dhìth, cruthaidh fear ùr. Tha e a 'suidheachadh ut_id bhon inittab, ut_pid agus ut_time ris na luachan làithreach, agus ut_type gu INIT_PROCESS .

gheibh getty (8) an inntrigeadh leis a 'phid, atharrachaidhean ut_type gu LOGIN_PROCESS , atharraichidh ut_time , a' suidheachadh ut_line , agus a 'feitheamh ri ceangal a stèidheachadh. logadh a-steach (8), an dèidh do neach-cleachdaidh a dhearbhadh, atharraich ut_type gu USER_PROCESS , atharraich ut_time , agus cuiridh e ut_host agus ut_addr . A rèir getty (8) agus logadh a-steach (8), dh'fhaodadh clàran a bhith air an suidheachadh le ut_line an àite an rud as fheàrr.

Nuair a lorgas init (8) gu bheil pròiseas air a dhol a-mach, lorgidh e an toradh inntrigidh le ut_pid , cuiridh e ut_type gu DEAD_PROCESS , agus a 'glanadh ut_user , ut_host agus ut_time le null bytes.

cruthaichidh xterm (1) agus luchd-eiridinn crìochnachaidh eile clàr USER_PROCESS agus cruthaich iad ut_id le bhith a 'cleachdadh an dà litir / dev / ttyp % c mu dheireadh no le bhith a' cleachdadh p % d airson / dev / pts / % d . Ma lorgas iad DEAD_PROCESS airson an id seo, bidh iad ga ath-chuairteachadh, no ma tha iad a 'cruthachadh inntrigeadh ùr. Mas urrainn dhaibh, comharraichidh iad e mar DEAD_PROCESS nuair a thèid iad a-mach agus thèid innse dhaibh nach eil iad a ' cleachdadh utline , ut_time , ut_user , agus ut_host cuideachd.

Cha bu chòir xdm (8) clàr utmp a chruthachadh, oir chan eil terminal ann. Le bhith a 'leigeil leotha aon a chruthachadh, bheir mearachdan, mar' meur: stat /dev/machine.dom '. Bu chòir dha inntrigeadh wtmp a chruthachadh, ge-tà, dìreach mar ftpd (8) a 'dèanamh.

cuir telnetd (8) a-steach inntrigeadh LOGIN_PROCESS agus a 'fàgail a' chòrr gus logadh a- steach (8) mar as àbhaist. Às deidh deireadh nan seiseanan telnetd , bidh telnetd (8) a 'glanadh a-mach às an dòigh thuairisgeul.

Bidh am faidhle wtmp a ' clàradh a h-uile cothrom agus inntrigeadh. Tha an cruth aige dìreach mar utmp ach a-mhàin gu bheil ainm neach-cleachdaidh null a 'sealltainn mar a shàbhaileas tu air a' phort-adhair co-cheangailte. A bharrachd air an sin, tha an t-ainm crìochnachaidh "~" le ainm cleachdaiche "dùnadh" no "ath-nuadhachadh" a ' comharrachadh casg no ath-shiostam air an t-siostam agus an dà ainm " terminal " / "}" a ' clàradh an t-seann t-siostaim / ùir nuair a tha an ceann-là (1) ga atharrachadh. Tha wtmp air a chumail suas le logadh a- steach (1), init (1), agus cuid de na tionndaidhean de getty (1). Chan eil na prògraman sin a 'cruthachadh am faidhle , mar sin ma thèid a thoirt às, tha clàradh air a thoirt dheth.