Linux විධානය - wtmp

නම

utmp, wtmp - පිවිසුම් වාර්තා

සාරාංශය

#include

විස්තර

පද්ධතියේ දැනට භාවිතා කරන අය ගැන තොරතුරු සොයාගැනීමට utmp ගොනුව හට ඉඩ ලබා දෙයි. මෙම පද්ධතිය භාවිතා කරන තවත් පරිශීලකයන් සමහරක් විය හැක. මන්ද, සියලු වැඩසටහන් utmp logging භාවිතා නොකරයි.

අවවාදයයි: බොහෝ පද්ධති වැඩසටහන් (අඥාන ලෙස) එහි අඛණ්ඩතාව මත යැපෙන බැවින් utmp ලියවිය නොහැක. ඔබ ඕනෑම පරිශීලකයෙකුට උපම්පිටයක් ලිවිය හැකි නම් පද්ධතියේ ලොග් ෆයිල් අවදානම හා පද්ධති ගොනු වල වෙනස්කම් අවධානමට අවදානමේ ය.

ගොනුව ඇතුළත් කිරීමේ ගොනුව තුල ප්රකාශිත පහත සඳහන් ව්යුහය සහිත අනුපිළිවෙලක් අනුගමනය කරයි (මෙය වටා කිහිපයක් අර්ථ දැක්වීම් වලින් එකක් පමණි, තොරතුරු 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 {කෙටි int e_termination; / * ක්රියාව අවසන් කිරීම. * / short int e_exit; / * ක්රියාව පිටවීමේ තත්වය. * /}; struct utmp {කෙටි ut_type; / * පිවිසුම් වර්ගය * / pid_t ut_pid; / * පුරනය වීමේ ක්රියාවලියේ පහසුව * / char ut_line [UT_LINESIZE]; / * ටීට් උපාංගයේ නම - "/ dev /" * / char ut_id [4]; / * init id හෝ abbrev. ttyname * / char ut_user [UT_NAMESIZE]; / * පරිශීලක නම * / char ut_host [UT_HOSTSIZE]; / * සත්කාරක නාමය දුරස්ථ පිවිසුම් සඳහා * / struct exit_status ut_exit; / * DEAD_PROCESS ලෙස සලකුණු කරන ක්රියාවලියක පිටවීමේ තත්වය. * / long ut_session; / * සැසි අංකය, වින්යාස කිරීම සඳහා * / struct tim tim_tv; / * කාල සටහනක් ඉදිරිපත් කරන ලදි. * / int32_t ut_addr_v6 [4]; / * දුරස්ථ සත්කාරකයේ IP ලිපිනය. * / char [20]; / * අනාගත භාවිතය සඳහා වෙන් කර ඇත. * /}; / * පසුගාමී සංයුක්ත හැක්ක. * / #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]

මෙම ව්යුහය පරිශීලකයාගේ අග්රය, පරිශීලකයාගේ ලොගින් නාමය සහ වේලාව (2 ආකෘතියේ) වල පිවිසුම වේ. ක්ෂේත්රවල ප්රමාණයට වඩා කෙටි නම්, String fields '\ 0' මඟින් අවලංගු වේ.

ඉන්ටයිට් (8) සැකසීමේ දී inittab (5) මඟින් ආරම්භ කරන ලද ප්රථම ප්රවේශයන් ප්රතිඵලය වී ඇත. ප්රවේශය සැකසීමට පෙර, init (8) ut_type ( DEUT_PROCESS හෝ RUN_LVL ) නොවේ, එක් වාර්තාවක් සඳහා null බයිට් සමඟ null බයිට්ස් සමග ut_user , ut_type , ut_user , ut_type , DEAD_PROCESS සැකසීම , utmp ටයිප් කර ඇත. අවශ්යව ඇති ut_id සමඟ හිස්ව තැබිය නොහැකි නම්, init නව එකක් නිර්මාණය කරයි. එය ඉන්ටිට්බ් , ut_pid සහ ut_time වෙතින් ut_id වෙතින් වත්මන් අගයන් වෙත සහ INIT_PROCESS වෙත ut_type වෙත සකසයි .

Getty (8) pid මඟින් ඇතුලත් කිරීම , LOGIN_PROCESS හි වෙනස්කම් ut_type , වෙනස්කම් ut_time , ut_line සකසනු ඇත , සහ ස්ථාපනය කිරීමට බලා සිටීම බලා සිටීම. පරිශීලකයා සත්යාපනය කර ඇති පසු, (8) පිවිසුනු (8), ut_type USER_PROCESS වෙත වෙනස් කිරීම, ut_time හි වෙනස්කම්, සහ ut_host සහ ut_addr සකසයි . Getty (8) සහ login (8) මත පදනම්ව, වාර්තාවන් ut_line විසින් වඩා යෝග්ය ලෙස ut_pid භාවිතා කළ හැක .

ක්රියාවලිය අවසන් වී ඇති බව ඉන්ටොයිට් (8) සොයාගෙන ඇති විට, එය ut_pid විසින් එහි utmp ප්රවේශය සොයාගනී , DEAD_PROCESS වෙත ut_type සකසා , ut_user , ut_host සහ ut_time ඉවත් කරයි .

xterm (1) සහ අනෙකුත් පර්යන්ත විද්යුත් අනුගාමකයන්ට USER_PROCESS වාර්තාව සෘජුවම නිර්මාණය කර, / dev / ttyp % c හි අවසන් අක්ෂර දෙක / dev / pts / % d සඳහා p % d භාවිතා කරමින් ut_id උත්පාදනය කරයි. මෙම හැඳුනුම්පත සඳහා DEAD_PROCESS සොයා ගන්නේ නම්, එය නැවත ප්රතිචක්රීකරණය කරයි. ඔවුන්ට හැකි නම්, ඔවුන් පිටතට යන විට එය DEAD_PROCESS ලෙස සලකුණු කර ඇති අතර ඒවා null ut_line , ut_time , ut_user , සහ ut_host යනුවෙන් ද සඳහන් වේ.

xdm (8) නොතිබූ පර්යන්තයක් නොමැති නිසා, උට්පත් වාර්තාවක් නිර්මාණය නොකළ යුතුය. එය නිර්මාණය කිරීම ඉඩ දීමෙන් වැරදියි, එනම් 'ඇඟිලි: stat /dev/machine.dom' නොවේ. එය wtmp ඇතුලත් කළ යුතු වේ, කෙසේ වෙතත්, ftpd (8) වගේ.

telnetd (8) LOGIN_PROCESS ප්රවේශයක් සකසමින් ඉතිරි ලෙස සාමාන්යයෙන් පිවිසීමට (8) පිවිසෙයි . ටෙට්නෙට් සැසිය අවසන් වන විට, telnetd (8) විස්තර කරන ලද ආකාරයෙන් utmp පිරිසිදු කරයි.

Wtmp ගොනුව සියලුම පිවිසුම් සහ ලොග්වීම් වාර්තා කරයි. එහි ආකෘතිය හරියටම utmp වැනි හරියටම භාවිතා කරන ලද ටර්මිනනයෙන් ඉවත්වීම හැරුණු විට කිසිවෙකුගේ පරිශීලක නම පෙන්වයි. තවද, පරිශීලක නාමයේ "වසා දැමීම" හෝ "නැවත ආරම්භනය" සහිත ටර්මිනල් නාමය "~" පද්ධතිය මඟින් පද්ධතිය වසා දැමීම හෝ නැවත ආරම්භ කිරීම හා තාවකාලික නම් නාමයන් "|" / "}" දිනය (1) වෙනස් වූ විට පැරණි / නව පද්ධති වේ. wtmp login (1), init (1) සහ සමහරක් Getty (1) අනුවාද වේ. මෙම ක්රමලේඛ වලින් කිසිවක් ගොනුව සාදන්නේ නැත, එබැවින් එය ඉවත් කර ඇත්නම්, වාර්තා තබා ගැනීම අක්රිය කර ඇත.