`W`,` who`, `whoami` और` id` के लिए अलग-अलग आउटपुट


9

कमांड लाइन प्लेटफ़ॉर्म में ऑनलाइन, उदाहरण के लिए कोडेक अकादमी पर एक, जब मैं चलाता हूं

for cmd in w who whoami id
do
    echo $cmd
    $cmd
    echo =========================
    echo "             "
done

मुझे मिला

w                              
00:52:54 up 8 days, 14:10,  0 users,  load average: 3.78, 2.98, 2.69      
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT       
=========================                            

who
=========================                                                 

whoami                          
ccuser                          
=========================                              
  
id
uid=1000(ccuser) gid=1000(ccuser) groups=1000(ccuser)     
=========================                   

ध्यान दें कि केवल whoamiऔर idआउटपुट कुछ। जब मैं अपने कंप्यूटर पर एक ही चीज़ चलाता हूं, तो मैं सभी कमांड के लिए समान परिणाम देखता हूं।

Codecademy उपयोगकर्ता को wऔर के लिए प्रदर्शित क्यों नहीं करता है who? इन आदेशों के बारे में क्या अलग है?

जवाबों:


13
  • id रिपोर्ट
    • अपनी स्वयं की प्रक्रिया की वर्तमान साख; या
    • एक नामित उपयोगकर्ता की साख, जैसा कि सिस्टम खाता डेटाबेस से बाहर पढ़ा जाता है ।
  • whoami अपनी स्वयं की प्रक्रिया की वर्तमान साख की रिपोर्ट करता है।
  • whoऔर लॉगिन डेटाबेसw से सक्रिय लॉगिन सत्र तालिका की रिपोर्ट करें

बीएसडी डोको नोट whoamiकरता है जो नौकरी का एक सबसेट करता है id, और जो idइसे अप्रचलित करता है।

एक सिस्टम में एक सक्रिय लॉगिन सत्र तालिका होना आवश्यक नहीं है। लिनक्स ऑपरेटिंग सिस्टम और बीएसडी पर, यदि टेबल को बूटस्ट्रैप पर नहीं बनाया गया है, या तब से हटा दिया गया है, तो सिस्टम एक के बिना काम करेगा। लॉग इन और आउट करने से यह लिनक्स ऑपरेटिंग सिस्टम, इसके अलावा नहीं बनता है।

इसके अलावा, तालिका को अनपेक्षित उपयोगकर्ताओं द्वारा पठनीय नहीं होना चाहिए और न whoही wकमांड इसे त्रुटि के रूप में रिपोर्ट करेगा।

आगे की पढाई

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.