لینکس کمانڈر - wtmp جانیں

نام

utmp، wtmp - لاگ ان ریکارڈ

مطمئن

# utmp.h> شامل کریں

تفصیل

یو ایم پی ایم فائل کو اس کی معلومات کے بارے میں پتہ چلتا ہے کہ فی الحال اس نظام کا استعمال کیا جا رہا ہے. شاید فی الحال اس نظام کا استعمال کرتے ہوئے زیادہ صارفین ہوسکتے ہیں، کیونکہ تمام پروگراموں کو utmp لاگنگ کا استعمال نہیں ہوتا.

انتباہ: utmp لکھنا قابل نہیں ہونا چاہئے، کیونکہ بہت سے نظام کے پروگرام (بیوقوف) اپنی صداقت پر منحصر ہیں. اگر آپ کسی بھی صارف کو utmp لکھنا چھوڑتے ہیں تو آپ فیکس سسٹم لاگ فولائل اور سسٹم فائلوں کی ترمیم کریں گے.

فائل درج ذیل ڈھانچے کے ساتھ اندراجات کا ایک سلسلہ ہے جس میں فائل میں اعلان کیا گیا ہے (نوٹ کریں کہ یہ صرف کئی تعریفوں میں سے صرف ایک ہے؛ تفصیلات لبرک کے ورژن پر منحصر ہے):

#define UT_UNKNOWN 0 #define RUN_LVL 1 #define BOOT_TIME 2 #define NEW_TIME 3 #define OLD_TIME 4 #define INIT_PROCESS 5 #defter LOGIN_PROCESS 6 #define USER_PROCESS 7 #de DEAD_PROCESS 8 #define ACCOUNTING 8 #define UT_LINESIZE 12 #define UT_NAMESIZE 32 #define UT_HOSTSIZE 256 struct exit_status {مختصر int e_termination؛ / * عمل ختم ہونے کی حیثیت. * / مختصر int e_exit؛ / * عمل سے نکلنے کی حیثیت. * /}؛ struct utmp {مختصر ut_type؛ / * لاگ ان کی قسم * / pid_t ut_pid؛ / * لاگ ان عمل کے پڈ * / چار ut_line [UT_LINESIZE]؛ / * ٹیٹی کا آلہ نام - "/ dev /" * / چار ut_id [4]؛ / * init id یا abbrev. ttyname * / چار ut_user [UT_NAMESIZE]؛ / * صارف کا نام * / چار ut_host [UT_HOSTSIZE]؛ / * ریموٹ لاگ ان کے لئے میزبان نام * / struct exit_status ut_exit؛ / * DEAD_PROCESS کے طور پر نشان لگا دیا گیا عمل کے باہر نکلنے کی حیثیت. * / طویل ut_session؛ / * سیشن کی شناخت، * winding * / struct timeval ut_tv کے لئے استعمال کیا جاتا ہے؛ / * ٹائم اندراج کیا گیا تھا. * / int32_t ut_addr_v6 [4]؛ / * ریموٹ میزبان کے آئی پی ایڈریس. * / چار چار پیڈ [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) کے ساتھ منسلک خصوصی فائل کا نام دیتا ہے. اگر وہ فیلڈ کے سائز سے کم ہیں تو '' '' '' کی طرف سے ختم کر دیا گیا ہے.

پہلی اندراجات نے کبھی اندرونی (8) پروسیسنگ انٹیاباب (5) سے نتیجہ پیدا کیا. ایک اندراج پر عملدرآمد کرنے سے قبل ، انٹ (8) ut_type DEAD_PROCESS کو سیٹ کرکے ، ut_user ، ut_host ، اور ut_time کو ہر ریکارڈ کے لۓ ut_type DEAD_PROCESS یا RUN_LVL نہیں ہے اور جہاں PID ut_pid کے ساتھ کوئی عمل موجود نہیں ہے کے لئے ut_time کو صاف کرنے کے ذریعے utmp. اگر مطلوبہ یوٹ_ڈ کے ساتھ کوئی خالی ریکارڈ پایا جاسکتا ہے، تو اندرونی ایک نئی تخلیق کرتا ہے. اس میں ut_id سیٹ اپ ، ut_pid اور ut_time موجودہ اقدار پر، اور INIT_PROCESS پر ut_type .

گیٹی (8) پڈ کی طرف سے اندراج کا پتہ لگاتا ہے، LOGIN_PROCESS کو ut_type میں تبدیلی، ut_time تبدیلیاں، ut_line سیٹ کرتا ہے، اور قائم کرنے کے لئے انتظار کر رہے ہیں. لاگ ان (8)، ایک صارف کی تصدیق کے بعد، USER_PROCESS پر ut_type تبدیل، ut_time تبدیلیاں، اور ut_host اور ut_addr سیٹ کرتا ہے. گیٹی (8) اور لاگ ان (8) پر منحصر ہے، ریکارڈز ut_line کے بجائے ترجیحی ut_pid کے ذریعہ واقع ہوسکتی ہے .

جب انٹ (8) پتہ چلا ہے کہ ایک عمل باہر نکل گیا ہے، یہ ut_pid کی طرف سے اپنے utmp اندراج کا پتہ لگاتا ہے، ut_type DEAD_PROCESS کو مقرر کرتا ہے، اور ut_user کو صاف کرتا ہے، ut_user اور null بائٹ کے ساتھ ut_time صاف کرتا ہے.

xterm (1) اور دیگر ٹرمینل emulators براہ راست ایک USER_PROCESS ریکارڈ بنانے اور ut_id پیدا / dev / ttyp ٪ c کے یا دو / dev / pts / ٪ d کے لئے p ٪ d استعمال کر کے پیدا کرتے ہیں. اگر وہ اس ID کے لئے DEAD_PROCESS تلاش کرتے ہیں تو، وہ اسے ری سائیکل کرتے ہیں، دوسری صورت میں وہ ایک نیا اندراج بناتے ہیں. اگر وہ کرسکتے ہیں، تو وہ اسے DEAD_PROCESS کے طور پر باہر جانے پر نشان زد کریں گے اور یہ مشورہ دیا جاتا ہے کہ وہ ut_line ، ut_time ، ut_user ، اور ut_host بھی شامل کریں.

xdm (8) ایک utmp ریکارڈ نہیں بنانا چاہئے، کیونکہ وہاں کوئی مقررہ ٹرمینل نہیں ہے. اس کو ترتیب دینے میں کوئی غلطی ہو گی، جیسے 'انگلی: stat /dev/machine.dom' کی حیثیت سے نہیں. یہ WTMM اندراج بنانا چاہئے، اگرچہ، FTP (8) کی طرح ہوتا ہے.

telnetd (8) LOGIN_PROCESS اندراج سیٹ کرتا ہے اور باقیوں کو معمول کے طور پر (8) لاگ ان کرنے کے لئے چھوڑ دیتا ہے. telnet سیشن ختم ہونے کے بعد، telnetd (8) بیان کردہ طریقہ میں utmp صاف.

wtmp فائل تمام لاگ ان اور لاگ آؤٹ ریکارڈ کرتا ہے. اس کی شکل بالکل utmp کی طرح ہے، اس کے علاوہ ایک غیر فعال صارف کا نام منسلک ٹرمینل پر لاگ آؤٹ کرتا ہے. اس کے علاوہ، ٹرمینل کا نام "~" صارف کا نام "بند" یا "ریبوٹ" کے ساتھ ایک نظام بند یا ریبوٹ اور ٹرمینل کے نام کی جوڑی کی طرف اشارہ کرتا ہے "|" / "}" پرانے / نیا نظام کا وقت لاگو ہوتا ہے جب تاریخ (1) اسے تبدیل کردے. wtmp لاگ ان (1)، انٹری (1)، اور گیٹی کے کچھ ورژن (1) کی طرف سے برقرار رکھی جاتی ہے. ان پروگراموں میں سے کوئی بھی فائل کو تخلیق نہیں کرتا ہے، لہذا اگر یہ ہٹا دیا جاتا ہے، ریکارڈ رکھنے کی جگہ بند کردی گئی ہے.