Phunzirani Linux Command - wtmp

Dzina

zolemba za utmp, wtmp - login

Zosinthasintha

#phatikiza

Kufotokozera

Fayilo ya utmp imalola munthu kudziwa zomwe akugwiritsa ntchito nthawiyo. Pakhoza kukhala ogwiritsa ntchito omwe akugwiritsa ntchito pulogalamuyi, chifukwa sizinthu zonse zomwe zimagwiritsira ntchito utmp logging.

Chenjezo: utmp sayenera kulembedwa, chifukwa mapulogalamu ambiri a zipangizo (mopusa) amadalira umphumphu wake. Inu mumayambitsa maofesi a faked system ndi kusintha kwa mafayilo a mauthenga ngati mutasiya kutumiza kwa aliyense wogwiritsa ntchito.

Fayiloyi ndizolemba zolembedwera ndi ndondomeko yotsatirayi yomwe ikufotokozedwa m'mafayilo omwe akuphatikizidwa (zindikirani kuti izi ndi chimodzi chabe mwa matanthawuzo angapo ozungulira. Zambiri zimadalira kusintha kwa libc):

#define UT_UNKNOWN 0 #define RUN_LVL 1 #dee BOOT_TIME 2 #define NEW_TIME 3 #define OLD_TIME 4 #define INIT_PROCESS 5 #define USER_PROCESS 7 #define DEAD_PROCESS 8 #define UT_LINESIZE 12 #define UT_NAMESIZE 32 #define UT_HOSTSIZE 256 struct exit_status {short int e_termination; / * ndondomeko yothetsa nthawi. * / mwachidule int e_exit; / * ndondomeko yotuluka kuchoka. *}}; struct utmp {mwachidule ut_type; / * mtundu wa login * / pid_t ut_pid; / * pid yolowera njira * / char ut_line [UT_LINESIZE]; dzina * la chipangizo cha tty - "/ dev /" * / char ut_id [4]; / * init id kapena abbrev. ttyname * / char ut_user [UT_NAMESIZE]; / * dzina la mtumiki * / char ut_mphamvu [UT_HOSTSIZE]; / * hostname yolowera kutsegula * / struct exit_status ut_exit; / * Kutuluka kwa mchitidwe wa ndondomeko yolembedwa monga DEAD_PROCESS. * / long ut_session; / * gawo ID, yogwiritsidwa ntchito pawindo / struct timeval ut_tv; / * kulowa nthawi kunapangidwa. * / int32_t ut_addr_v6 [4]; / * Adilesi ya IP ya alendo apakati. * / pad pad [20]; / * Zosungidwa kuti zigwiritsidwe ntchito mtsogolo. *}}; / * Kumbuyo kumvetsetsa 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]

Mapangidwe awa amapereka dzina la fayilo yapaderayi yogwirizanitsidwa ndi malo ogwiritsira ntchito, dzina lolowera la womasulira, ndi nthawi yolowera mu mawonekedwe a nthawi (2). Masamba amathetsedwa ndi '\ 0' ngati ali ochepa kuposa kukula kwa munda.

Zolemba zoyamba zomwe zinalengedwa zimachokera ku init (8) processing inittab (5). Asanalowetsedwe, maofesi (8) amatsuka poyerekeza ndi DEAD_PROCESS , kuchotsa ut_user , ut_host , ndi ut_time ndi zosalongosoka pa rekodi iliyonse yomwe im_type si DEAD_PROCESS kapena RUN_LVL ndipo palibe njira ndi PID yomwe ilipo. Ngati palibe rekodi yopanda kanthu yofunikira_yiyi ingapezeke, init imapanga latsopano. Icho chima_chichokera mu inittab, ut_chibwibwi ndi_ku_kupita ku zikhalidwe zamakono, ndi_kupitirira ku INIT_PROCESS .

getty (8) imapezetsa kulowa kwa pid, kusintha kusintha kwa LOGIN_PROCESS , kusintha ut_time , kuyambitsa ut_line , ndipo imayang'ana kuti kugwirizana kukhazikitsidwe. lolowera (8), pambuyo pa wotsimikiziridwa, wogwiritsa ntchito USER_PROCESS , kusintha ut_time , ndikuyika ut_host ndi ut_addr . Malingana ndi payty (8) ndi login (8), zolemba zingapezeke ndi ut_line mmalo mwa opusa ut_pid .

Pamene init (8) ikupeza kuti ndondomeko yatha, imayang'ana kutsegula kwake mwachinsinsi , imayika ma_modzinso kwa DEAD_PROCESS , ndipo imatulutsa ut_user , ut_host ndi ut_time ndi null.

xterm (1) ndi ena oimitsa mapulogalamu otsiriza amapanga mbiri ya USER_PROCESS ndikupanga ma_malo pogwiritsa ntchito makalata awiri omaliza a / dev / ttyp % c kapena pogwiritsa ntchito p % d for / dev / pts / % d . Ngati apeza DEAD_PROCESS ya id, amaikonzanso, mwinamwake amapanga chatsopano. Ngati angathe, iwo adziwonetsa ngati DEAD_PROCESS pochoka ndipo akulangizidwa kuti asatengere ut_line , ut_time , ut_user , ndi ut_hostonso .

xdm (8) sayenera kulenga mbiri ya utmp, chifukwa palibe malire opatsidwa. Kulolera izo kulenga imodzi kumabweretsa zolakwika, monga 'chala: sangathe stat /dev/machine.dom'. Iyenera kukhazikitsa zolembera, ngakhale, ngati ftpd (8).

telnetd (8) akuika LOGIN_PROCESS kulowa ndikusiya ena onse kuti alowe (8) mwachizolowezi. Pambuyo patsiku la telnet litatha , telnetd (8) imatsuka utmp mu njira yofotokozera.

Wtmp mafayilo amalemba zonse zolembera ndi logout. Maonekedwe ake ali chimodzimodzi ngati utmp kupatula kuti dzina losasinthana limatanthawuza lolowera pazomwe zimagwirizanitsidwa. Kuwonjezera pamenepo, dzina lomasulidwa "~" ndi dzina loti "shutdown" kapena "kubwezeretsa" likuwonetsa kusayidwa kwadongosolo kapena kubwezeretsa ndi mayina awiri otsiriza "|" / "}" amalemba nthawi yakale / yatsopano yamakono pamene tsiku (1) likusintha. wtmp imasungidwa ndi lolowera (1), init (1), ndi zina zotembenuzidwa (1). Palibe mwa mapulogalamu awa omwe amapanga fayilo , kotero ngati iyo yachotsedwa, kusunga ma CD kumatsekedwa.