प्रोग्राम को लॉगिन इवेंट कैसे देखें?


2

मैं एक लॉग फ़ाइल से प्रोग्रामेटिक रूप से ढूंढना चाहता हूं जो उपयोगकर्ता डेबियन मशीन में लॉग करता है। मैं यह भी देखना चाहता हूं कि कौन लॉग इन करता है और क्या उस समय फाइल में लॉग इन होता है। डेबियन मशीन संस्करण 4.1 या 5 पर उस कार्य को कैसे पूरा करें?

यदि जानकारी किसी भी फ़ाइल में मौजूद नहीं है, तो क्या इन घटनाओं को पकड़ने और कार्यक्रम के विवरण को प्रोग्रामेटिक रूप से प्राप्त करने का एक और तरीका है?


क्या आपने लिनक्स लॉग्स पर देखा था?
Diogo

जवाबों:


0

फ़ाइल /var/run/utmp कौन कौन लॉग इन कर रहा है, वे कितनी देर से निष्क्रिय हैं, और कितने समय से उपयोग कर रहे हैं, इसकी जानकारी है। इस फ़ाइल को देखना (इसके लिए C API होना) /usr/include/utmp.h ))।

इसके अलावा, /var/log/wtmp (अगर मैं मैन पेजों को सही ढंग से समझता हूं), उन उपयोगकर्ताओं की सूची है जो थे में लॉग इन।


1

last कमांड कमांड-लाइन अप्रोच है। देख man last विकल्पों के लिए।

यह खोजता है /var/log/wtmp लॉगिन विवरण के लिए।

आप ऐसा प्रोग्राम करने में सक्षम हो सकते हैं।


त्वरित उत्तर के लिए धन्यवाद। यह सीधे सही बिंदु पर मारा और मैं तुरंत जवाब स्वीकार करूंगा :)
mico

खेद है कि मुझे एक और मिला, एक और भी उपयुक्त :( मैं आपको अभी भी एक वोट दूंगा, अगर मेरे पास अधिकार था :)
mico

अच्छा ... किसी ने किया, इसलिए मैं अभी भी आगे हूं कि मैं कल कहां था।
pavium

0

/var/log/auth.log प्रमाणीकरण सत्र घटनाओं में देखो वहाँ लॉग इन किया जाता है। आपको उस फ़ाइल तक पहुंचने के लिए रूट विशेषाधिकारों की आवश्यकता है।


0

लिनक्स पर, एक भी "लॉगिन" घटना नहीं है - प्रत्येक कार्यक्रम इसे अपने तरीके से लागू कर सकता है। निकटतम PAM है ... उन अनुप्रयोगों के लिए जो PAM का उपयोग करते हैं। उनमें से ज्यादातर करते हैं, लेकिन उदाहरण के लिए, SSH केवल pam_authenticate () कॉल करता है यदि आप पासवर्ड का उपयोग करने में लॉग इन करते हैं, लेकिन तब नहीं जब सार्वजनिक कुंजी या केर्बरोस का उपयोग किया जाता है, हालांकि pam_open_session () हमेशा कहा जाता है।

यदि आपको केवल इंटरैक्टिव सत्र (एसएसएच, कंसोल) लॉग इन करने की आवश्यकता है, तो देखें /var/log/wtmp (का उपयोग करते हुए inotify )। का मैनुअल पेज देखें wtmp सटीक संरचना के विवरण के लिए।

मेल के लिए, [एस] एफ़टीपी, अन्य प्रोटोकॉल, आपको उपयोग करना होगा /var/log/auth.log, जो दुर्भाग्य से एक सुसंगत प्रारूप नहीं है।

  • से तीन अलग-अलग उदाहरण auth.log:

    • पासवर्ड के साथ एसएसएच - दोनों "sshd: ऑक्टिकल" और "sshd: session" सूचीबद्ध हैं

      sshd: दायरे
      sshd [24870]: ग्रेविटी के लिए स्वीकृत पासवर्ड :: 1 पोर्ट 57063 ssh2
      sshd [24870]: pam_unix (sshd: session): उपयोगकर्ता द्वारा अभिवादन के लिए खोला गया सत्र (uid = 0)

    • IMAP - "मेल: सामान्य" लेकिन कोई "मेल: सत्र" नहीं

      विशेषाधिकार [० प्रतीक्षा, ० पासडब, ० यूजरडब]: pam_krb5 (मेल: परिस्थिति): उपयोगकर्ता की वैधता को वैधता के रूप में प्रमाणित किया गया है @ दायरे

    • सार्वजनिक कुंजी के साथ SSH - केवल "sshd: session" लेकिन कोई "sshd: विशेषाधिकार"

      sshd [24985]: ग्रेविटी के लिए स्वीकृत पबलीके :: 1 बंदरगाह 51606 ssh2
      sshd [२४ ९ ]५]: pam_unix (sshd: session): उपयोगकर्ता द्वारा अभिचार के लिए खोला गया सत्र (uid = ०)

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