லினக்ஸ் கட்டளை - wtmp கற்கவும்

பெயர்

utmp, wtmp - உள்நுழைவு பதிவுகள்

கதைச்சுருக்கம்

# அடங்கும்

விளக்கம்

Utmp கோப்பை தற்போது கணினியைப் பயன்படுத்துபவர் பற்றிய தகவலைக் கண்டறிய ஒருவரை அனுமதிக்கிறது. தற்போது கணினியைப் பயன்படுத்தி அதிக பயனர்கள் இருக்கலாம், ஏனென்றால் அனைத்து நிரல்களும் utmp logging ஐ பயன்படுத்துவதில்லை.

எச்சரிக்கை: utmp எழுதப்படக்கூடாது, ஏனெனில் பல கணினி நிரல்கள் (முட்டாள்தனமாக) அதன் உத்தியை சார்ந்துள்ளது. நீங்கள் எந்த பயனருக்கும் எழுதப்பட்ட utmp விட்டு விட்டால் நீங்கள் போலி கோப்புகளை பதிவுசெய்தல் மற்றும் கணினி கோப்புகளை மாற்றும் ஆபத்து.

கோப்பை கோப்பு உள்ளிட்ட பின்வரும் கட்டமைப்பில் உள்ளீடுகளின் வரிசையாகும் (இது பல சுற்றி வரையறுக்கப்பட்டுள்ளது, குறிப்பு விவரங்கள் லிபிட்சியின் பதிப்பு சார்ந்தவை):

UT_UNKNOWN 0 # வரையறுத்து RUN_LVL 1 # # வரையறுக்கவும் BOOT_TV1 # # வரையறுக்கவும் NEW_TIME 3 # OLD_TIME ஐ உருவாக்கு # 4 # INIT_PROCESS # ஐ # # # LOGIN_PROCESS # # வரையறுக்காதது # # # DEP_PCCESS # # வரையறுக்க # # # # # # UT_LINESIZE 12 # வரையறுக்க UT_NAMESESE # UT_HOSTSIZE 256 struct exit_status {குறுகிய int e_termination; / * செயல்முறை முடித்தல் நிலை. * / குறுகிய எண்ணாக 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]; / * பயனர் பெயர் * / char ut_host [UT_HOSTSIZE]; / * தொலை உள்நுழைவுக்கான ஹோஸ்ட்பெயர் * / struct exit_status ut_exit; / * DEAD_PROCESS என குறிக்கப்பட்ட செயல்முறையின் வெளியேறும் நிலை. * / long ut_session; / * அமர்வு ஐடி, * / struct காலவரிசை ut_tv ஐப் பயன்படுத்த பயன்படுகிறது; / * முறை நுழைவு செய்யப்பட்டது. * / int32_t ut_addr_v6 [4]; / * ரிமோட் ஹோஸ்ட்டின் IP முகவரி. * / கரி பேட் [20]; / * எதிர்கால பயன்பாட்டிற்கு ஒதுக்கப்பட்டுள்ளது. * /}; / * பின்னோக்கி பொருந்தக்கூடிய ஹேக்ஸ். * / # வரையறுத்து ut_name ut_user #ifndef _NO_UT_TIME # ut_time ut_tv.tv_sec #define #define ut_time ut_tv.tv_sec # வரையறுக்க ut_addr ut_addr_v6 [0] வரையறுக்க

இந்த அமைப்பு பயனரின் முனையம், பயனரின் உள்நுழைவு பெயர் மற்றும் உள்நுழைவு நேரம் (2) ஆகியவற்றுடன் தொடர்புடைய சிறப்புக் கோப்பின் பெயரைக் கொடுக்கிறது. புலத்தின் அளவைக் காட்டிலும் குறைவானதாக இருந்தால், '0 \' மூலம் ஸ்ட்ரிங்க் புலங்கள் நிறுத்தப்படும்.

முதல் உள்ளீடுகள் எப்போதும் initab (5) செயலாக்க உள்ளிட்ட (5) விளைவாக உருவாக்கப்பட்டது. நுழைவு செயலாக்கப்படுவதற்கு முன்னர், init (8) ut_pதூய்மையாக்குகிறது DEAD_PROCESS , ut_user , ut_host , மற்றும் ut_time ஆகியவற்றை ஒவ்வொரு பதிவிற்கும் ut_type அல்ல DEAD_PROCESS அல்லது RUN_LVL அல்ல, மற்றும் PID ut_pid இல் எந்த ஒரு செயல்முறையும் இல்லை. தேவைப்படும் ut_id உடன் காலியாக பதிவு செய்யப்படவில்லை என்றால், init ஒரு புதிய ஒன்றை உருவாக்குகிறது. இது initu , ut_pid மற்றும் ut_time லிருந்து தற்போதைய மதிப்புகளுக்கு ut_id அமைக்கிறது, மற்றும் IN_T_PROCESS க்கு ut_type .

getty (8) pid மூலம் நுழைவதைப் பொருத்துகிறது , LOGIN_PROCESS க்கு மாற்றுவோர் ut_type , மாற்றங்கள் ut_time , அமைக்கிறது ut_line , மற்றும் நிறுவப்பட வேண்டிய இணைப்புக்காக காத்திருக்கிறது. உள்நுழை (8), ஒரு பயனர் அங்கீகரிக்கப்பட்டு, USER_PROCESS க்கு மாற்றுவதற்கு U_type , மாற்றங்கள் ut_time , மற்றும் ut_host மற்றும் ut_addr ஐ அமைக்கிறது. கெட்டி (8) மற்றும் உள்நுழை (8) ஆகியவற்றைப் பொறுத்து, தகுந்த ut_pid க்குப் பதிலாக, பதிவுகள், ut_line மூலமாக அமைக்கப்பட்டிருக்கலாம் .

Init (8) செயல்முறை வெளியேறியது என்று கண்டுபிடிக்கும் போது, ​​அது ut_pid மூலம் அதன் utmp உள்ளீடு, DEAD_PROCESS அமைக்கிறது ut_typeஅமைக்கிறது , மற்றும் ut_user , ut_host மற்றும் ut_time பூஜ்ய பைட்டுகள் மூலம் அழிக்கிறது.

xterm (1) மற்றும் பிற முனையம் emulators நேரடியாக ஒரு USER_PROCESS பதிவை உருவாக்கி, கடைசி இரண்டு கடிதங்களை / dev / ttyp % c ஐ பயன்படுத்தி அல்லது / dev / pts / % d க்கு p % d ஐ பயன்படுத்தி ut_id ஐ உருவாக்கவும். இந்த ஐடிக்கு DEAD_PROCESS இருந்தால், அதை மறுசுழற்சி செய்யலாம், இல்லையெனில் அவை புதிய நுழைவை உருவாக்குகின்றன. அவர்கள் முடியாவிட்டால், DEAD_PROCESS என வெளியேறும் போது அதை குறிக்கும், மேலும் அவர்கள் அவை பூஜ்யம் ut_line , ut_time , ut_user மற்றும் ut_host ஆகியவற்றுக்கு அறிவுறுத்துகின்றன.

xdm (8) ஒரு utmp பதிவை உருவாக்கக்கூடாது, ஏனெனில் ஒதுக்கப்படாத முனையம் இல்லை. இது ஒன்றை உருவாக்க அனுமதிக்கும் பிழைகள், அதாவது 'விரல்: stat /dev/machine.dom முடியாது'. இது ftpd (8) போலவே wtmp உள்ளீடுகளை உருவாக்க வேண்டும்.

telnetd (8) LOGIN_PROCESS இடுகைகளை அமைக்கிறது மற்றும் மீதமுள்ளவரை வெளியேறுகிறது (8) வழக்கம் போல். டெல்நெட் அமர்வின் முடிவடைந்தவுடன், telnetd (8) விவரித்துள்ள வழியில் utmp ஐ சுத்தம் செய்கிறது.

Wtmp கோப்பு அனைத்து உள் மற்றும் logouts பதிவு. ஒரு பூஜ்ய பயனர் பெயர் பெயர் தொடர்புடைய முனையத்தில் வெளியேறுவதை தவிர அதன் வடிவமைப்பு சரியாக உள்ளது utmp போல. மேலும், பயனர்பெயர் "shutdown" அல்லது "reboot " உடன் முனையப் பெயர் "~" ஒரு கணினி பணிநிறுத்தம் அல்லது மறுதொடக்கம் மற்றும் முனையப் பெயர்களின் "|" / "}" தேதி (1) மாறும் போது பழைய / புதிய முறை நேரத்தை பதிவுசெய்கிறது. wtmp உள்நுழைவு (1), init (1), மற்றும் கெட்டி சில பதிப்புகளில் (1) பராமரிக்கப்படுகிறது. இந்த நிரல்கள் எதுவும் கோப்பை உருவாக்காது, அது அகற்றப்பட்டால், பதிவுசெய்தல் நிறுத்தப்படும்.