লিনাক্স কমান্ড শিখুন - wtmp

নাম

utmp, wtmp - লগইন রেকর্ড

সংক্ষিপ্তসার

# অন্তর্ভুক্ত

বিবরণ

Utmp ফাইলটি বর্তমানে কে সিস্টেমটি ব্যবহার করছে সে সম্পর্কে তথ্য খুঁজতে পারবেন। বর্তমানে সিস্টেমটি ব্যবহার করে আরো ব্যবহারকারীরা উপস্থিত হতে পারে, কারণ সমস্ত প্রোগ্রামগুলি utmp লগিং ব্যবহার করে না।

সতর্কবাণী: utmp লিখনযোগ্য হবে না, কারণ অনেক সিস্টেম প্রোগ্রাম (মূর্খতা) তার সততার উপর নির্ভর করে। আপনি যদি কোনও ইউটিউব ব্যবহারকারীকে ইউটি এম এম লিনাক্সে রাখেন তবে সিস্টেম ফাইলের ফ্যাকড সিস্টেম লগফিলস এবং সংশোধনগুলি ঝুঁকবে।

ফাইল অন্তর্ভুক্ত করা ফাইলের মধ্যে ঘোষিত নিম্নোক্ত গঠন সহ এন্ট্রিগুলির একটি ক্রম রয়েছে (উল্লেখ্য যে এটি শুধুমাত্র কয়েকটি সংজ্ঞার মধ্যে একটি; বিস্তারিত লিবিক সংস্করণের উপর নির্ভর করে):

#define UT_UNKNOWN 0 #define BOOT_TIME 2 #define BOOT_TIME 2 #define NEW_TIME 3 #define OLD_TIME 4 #define INIT_PROCESS 5 #define LOGIN_PROCESS 6 #define USER_PROCESS7 #define DEAD_PROCESS 8 # অ্যাকাউন্টফাই করা অ্যাকাউন্টিং 9 # ডিফাইনি UT_LINESIZE 1২ # ডিফাইনাল ইউটাএসএসাইজ 32 # ডিফাইন UT_HOSTSIZE 256 স্ট্রাক্ট exit_status {short int e_termination; / * প্রক্রিয়া পরিসমাপ্তি অবস্থা। * / ছোট int e_exit; / * প্রক্রিয়া প্রস্থান স্থিতি * /}; struct utmp {short ut_type; / * লগইন টাইপ * / pid_t ut_pid; / * লগইন প্রক্রিয়ার পিন * / char ut_line [UT_LINESIZE]; / * tty ডিভাইসের নাম - "/ dev /" * / char ut_id [4]; / * init id বা abbrev ttyname * / char ut_user [UT_NAMESIZE]; / * ব্যবহারকারীর নাম * / চারটি ইউটি_হস্ত [UT_HOSTSIZE]; / * দূরবর্তী লগইন করার জন্য হোস্টনাম * / struct exit_status ut_exit; / * DEAD_PROCESS হিসাবে চিহ্নিত একটি প্রক্রিয়ার প্রস্থান স্থিতি। * / দীর্ঘ ut_session; / * সেশন আইডি, উইন্ডিংয়ের জন্য ব্যবহৃত * / struct টাইমলাইনে ইউটি_টিভি; / * সময় এন্ট্রি তৈরি করা হয়েছিল। * / int32_t ut_addr_v6 [4]; / * রিমোট হোস্টের IP ঠিকানা। * / চার প্যাড [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) রূপে লগইন করার সময় যুক্ত বিশেষ ফাইলের নাম দেয়। স্ট্রিং ক্ষেত্রগুলি '\ 0' দ্বারা বন্ধ করা হয় যদি ক্ষেত্রের আকারের চেয়ে ছোট হয়।

প্রথম এন্ট্রি কখনও কখনও init (8) প্রক্রিয়াকরণ inittab (5) থেকে ফলাফল তৈরি। যদিও একটি এন্ট্রির প্রক্রিয়াকৃত হওয়ার আগে, init (8) ut_type দ্বারা ut_type দ্বারা DEAD_PROCESS সেটিং করে, ut_user , ut_host এবং ut_time দ্বারা প্রতিটি রেকর্ডের জন্য নাল বাইট সাফ করে , যা ut_type DEAD_PROCESS বা RUN_LVL নয় এবং PID ut_pid এর সাথে কোনও প্রক্রিয়া বিদ্যমান না হলে এটি পরিষ্কার করা হয়। প্রয়োজনীয় ut_id- র সাথে কোন খালি রেকর্ড পাওয়া যাবে না, init দ্বারা নতুনটি তৈরি করা হবে এটি in_tv থেকে ut_id সেট করা হয়, ut_pid এবং ut_time থেকে বর্তমান মানগুলি, এবং ut_type INIT_PROCESS

Getty (8) pid দ্বারা প্রবেশ করে, LOGIN_PROCESS- এ পরিবর্তন করে ut_type পরিবর্তন করে, ut_time পরিবর্তন করে, ut_line সেট করে এবং সংযোগ স্থাপনের জন্য অপেক্ষা করে। লগইন (8), একটি ব্যবহারকারী প্রমাণীকরণের পরে, USER_PROCESS- এ পরিবর্তন করে ut_type পরিবর্তন করে, ut_time পরিবর্তন করে এবং ut_host এবং ut_addr সেট করে। Getty (8) এবং লগইন (8) এর উপর ভিত্তি করে, রেকর্ডগুলি উক্ত ut_pid এর পরিবর্তে ut_line দ্বারা অবস্থান করে।

যখন init (8) খুঁজে পাওয়া যায় যে একটি প্রক্রিয়া প্রস্থান করা হয়েছে, এটি ut_pid দ্বারা তার utmp এন্ট্রিটি সনাক্ত করে, DE_AD_PROCESS এর ut_type সেট করে এবং ut_user , ut_host এবং ut_time null bytes দিয়ে পরিষ্কার করে।

xterm (1) এবং অন্যান্য টার্মিনাল এমুলেটর সরাসরি USER_PROCESS রেকর্ড তৈরি করে এবং / dev / ttyp % c এর শেষ দুটি অক্ষর ব্যবহার করে / p / d / p / % d এর জন্য p % ব্যবহার করে ut_id তৈরি করে। যদি তারা এই আইডিটির জন্য DEAD_PROCESS পায় তবে তারা এটি পুনর্নবীকরণ করে, অন্যথায় তারা একটি নতুন এন্ট্রি তৈরি করে। যদি তারা পারেন, তারা এটিতে DEAD_PROCESS হিসাবে চিহ্নিত হবে এবং এটি পরামর্শ দেওয়া হয় যে তারা ut_line , ut_time , ut_user , এবং ut_host এও ঠিক আছে।

xdm (8) একটি utmp রেকর্ড তৈরি করা উচিত নয়, কারণ নির্ধারিত টার্মিনাল নেই। এটি তৈরি করার ফলে একটি ত্রুটি দেখা দিতে পারে, যেমন 'আঙুল: stat /dev/machine.dom' করতে পারে না এটি wtmp এন্ট্রি তৈরি করা উচিত, যদিও, ঠিক যেমন ftpd (8) আছে।

telnetd (8) একটি LOGIN_PROCESS এন্ট্রি সেট আপ করে এবং স্বাভাবিক হিসাবে লগইন (8) বাকি বাকি। টেলনেট সেশন শেষ হওয়ার পরে, টেলনেটড (8) বর্ণিত ভাবে utmp পরিষ্কার করে।

Wtmp ফাইলটি সব লগইন এবং লগআউট রেকর্ড করে। এটির বিন্যাসটি একেবারে utmp এর মতো নয়, তবে একটি নাল ইউজার নেম সংযোজিত টার্মিনালের লগ আউট নির্দেশ করে। তদ্ব্যতীত, ব্যবহারকারী নাম "শাটডাউন" বা "রিবুট " সহ টার্মিনাল নামটি "~" একটি সিস্টেম শাটডাউন বা রিবুট এবং টার্মিনাল নামগুলির " / "}" পুরানো / নতুন সিস্টেম সময় লগ ইন যখন তারিখ (1) এটি পরিবর্তন। wtmp লগইন দ্বারা পরিচালিত হয় (1), init (1), এবং getty (1) এর কিছু সংস্করণ। এই প্রোগ্রামগুলির মধ্যে কোনও ফাইল তৈরি করে না, তাই এটি সরানো হলে, রেকর্ড-সংরক্ষণ বন্ধ করা হয়।