Linux આદેશ જાણો - wtmp

નામ

utmp, wtmp - લૉગિન રેકોર્ડ્સ

સારાંશ

#include

વર્ણન

Utmp ફાઇલ, કોઈ વ્યક્તિ હાલમાં સિસ્ટમનો ઉપયોગ કરે છે તે વિશેની માહિતી શોધવા માટે પરવાનગી આપે છે. વર્તમાનમાં સિસ્ટમનો ઉપયોગ કરતા વધુ વપરાશકર્તાઓ હોઇ શકે છે, કારણ કે બધા પ્રોગ્રામ્સ utmp લોગિંગનો ઉપયોગ કરતા નથી.

ચેતવણી: utmp લખી શકાય તેવું ન હોવું જોઈએ, કારણ કે ઘણા સિસ્ટમ પ્રોગ્રામો (મૂર્ખતાપૂર્વક) તેની પ્રામાણિકતા પર આધાર રાખે છે જો તમે કોઇ વપરાશકર્તાને utmp લખી શકાય તેવો છોડો તો તમે સિસ્ટમ લૉકફાઇલ્સ અને સિસ્ટમ ફાઇલોના ફેરફારોનો જોખમ લઈ શકો છો.

ફાઇલ એ ફાઇલમાં જાહેર કરાયેલ નીચેના માળખા સાથેની એન્ટ્રીઓની શ્રેણી છે (નોંધ કરો કે આ ફક્ત વિવિધ વ્યાખ્યાઓ પૈકીની એક છે; વિગતો લિબિકના વર્ઝન પર આધારિત છે):

#define UT_UNKNOWN 0 #define BOOT_TIME 2 #defineNEW_TIME 3 #define OLD_TIME 4 #define INIT_PROCESS 5 #define LOGIN_PROCESS 6 #define USER_PROCESS 7 #define DEAD_PROCESS 8 # એકાઉન્ટફાઇનિંગ 9 # ડિફાઇન UT_LINESIZE 12 # વ્યાખ્યાયિત UT_NAMESIZE 32 # વ્યાખ્યાયિત કરો UT_HOSTSIZE 256 સ્ટ્રક્ટ exit_status {short int e_termination; / * પ્રક્રિયા સમાપ્તિ સ્થિતિ * / લઘુ પૂર્ણાંક e_exit; / * પ્રક્રિયા બહાર નીકળો સ્થિતિ * /}; સ્ટ્રક્ટ utmp {short ut_type; / * લૉગિનનો પ્રકાર * / pid_t ut_pid; / * લૉગિન પ્રક્રિયાના પદ્દ * / ચાર ut_line [UT_LINESIZE]; / tty નું ઉપકરણ નામ - "/ dev /" * / char ut_id [4]; / * init id અથવા abbrev. ttyname * / char ut_user [UT_NAMESIZE]; / * વપરાશકર્તા નામ * / ચાર ut_host [UT_HOSTSIZE]; / * દૂરસ્થ લૉગિન માટે * હોસ્ટનામ * / સ્ટ્રક્ટ exit_status ut_exit; / * DEAD_PROCESS તરીકે માર્ક કરેલી પ્રક્રિયાની બહાર નીકળો સ્થિતિ. * / લાંબા ut_session; / * સત્ર ID, વિંડોઝ * / સ્ટ્રક્ટ સમયમર્યાદા ut_tv માટે ઉપયોગમાં લેવાયેલ; / * સમય નોંધણી કરવામાં આવી હતી. * / 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' દ્વારા સમાપ્ત થાય છે જો તેઓ ક્ષેત્રના કદ કરતા ટૂંકા હોય.

પ્રથમ એન્ટ્રીઓએ ઇનિટ (8) પ્રોસેસિંગ ઈઇટાબેબ (5) નું પરિણામ બનાવ્યું છે. પ્રવેશને પ્રક્રિયા કરવામાં આવે તે પહેલાં, જોકે, init (8) ut_type ને DEAD_PROCESS ને સુયોજિત કરીને , ut_user , ut_host , અને ut_time ને દરેક રેકોર્ડ માટે રદ કરે છે જે ut_type DEAD_PROCESS અથવા RUN_LVL નથી અને જ્યાં PID ut_pid સાથે કોઈ પ્રક્રિયા અસ્તિત્વમાં નથી. જો જરૂરી ut_id સાથે કોઈ ખાલી રેકોર્ડ મળી શકશે નહિં, તો init એક નવું બનાવે છે તે ut_id ને inittab, ut_pid અને ut_time માંથી વર્તમાન કિંમતોમાં સુયોજિત કરે છે, અને ut_type INIT_PROCESS માં .

ગેટ્ટી (8) પદ્દ દ્વારા પ્રવેશને શોધે છે, 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 સુયોજિત કરે છે, અને null બાઇટ્સ સાથે ut_user , ut_host અને ut_time ને સાફ કરે છે.

xterm (1) અને અન્ય ટર્મિનલ એમ્યુલેટર્સ સીધા USER_PROCESS રેકોર્ડ બનાવે છે અને / dev / ttyp % c ના છેલ્લા બે અક્ષરોનો ઉપયોગ કરીને અથવા / dev / pts / % d માટે p % d નો ઉપયોગ કરીને ut_id જનરેટ કરે છે . જો તેઓ આ ID માટે DEAD_PROCESS શોધે છે, તો તેઓ તેને રિસાયકલ કરે છે, અન્યથા તેઓ નવી એન્ટ્રી બનાવશે જો તેઓ આ કરી શકે છે, તો તેઓ તેને બહાર નીકળવા પર DEAD_PROCESS તરીકે ચિહ્નિત કરશે અને તેને સલાહ આપવામાં આવે છે કે તેઓ ut_line , ut_time , ut_user , અને ut_host ને નકામું છે .

xdm (8) એક utmp રેકોર્ડ બનાવવો જોઈએ નહીં, કારણ કે ત્યાં કોઈ સોંપેલ ટર્મિનલ નથી. તેને બનાવીને ભૂલોને પરિણામે, 'આંગળી: stat /dev/machine.dom' નહી. તે wtmp એન્ટ્રીઓ બનાવવી જોઈએ, છતાં, જેમ કે એફટીપીડી (8) કરે છે.

telnetd (8) લોગિનપ્રોસેસન્સ એન્ટ્રી સેટ કરે છે અને બાકીનાને લોગિન (8) તરીકે હંમેશાની જેમ નહીં. ટેલેનેટ સત્ર સમાપ્ત થયા પછી, telnetd (8) utmp ને વર્ણવેલી રીતે સાફ કરે છે.

Wtmp ફાઇલ તમામ લોગિન અને લોગઆઉટ રેકોર્ડ કરે છે. તેના ફોર્મેટ એ ખરેખર utmp ની જેમ છે સિવાય કે નલ વપરાશકર્તા નામ સંકળાયેલ ટર્મિનલ પર લોગઆઉટ સૂચવે છે. વધુમાં, વપરાશકર્તા નામ "શટડાઉન" અથવા "રીબુટ " સાથેનું ટર્મિનલ નામ "~" સિસ્ટમ શટડાઉન અથવા રીબૂટ અને ટર્મિનલ નામોની જોડી સૂચવે છે "|" / "}" જૂના / નવો સિસ્ટમ સમયનો લૉગ કરે છે જ્યારે તારીખ (1) તે બદલાય છે wtmp લૉગિન દ્વારા જાળવવામાં આવે છે (1), init (1), અને ગેટ્ટી (1) ના કેટલાક વર્ઝન. આ પ્રોગ્રામોમાંથી બે પણ ફાઈલ બનાવે છે, તેથી જો તેને દૂર કરવામાં આવે તો, રેકોર્ડ રાખવાનું બંધ છે.