Skip to content
VDS · सुरक्षा

मशीन में कौन लॉगिन हुआ: लॉगिन लॉग

सफल और असफल लॉगिन कहाँ देखें, last, lastb, और journalctl कैसे पढ़ें, sudo से गतिविधि कैसे ट्रैक करें, और लॉग रिटेंशन कैसे सेट करें।

23 अगस्त 2026 को अपडेट किया गया

हर लॉगिन मशीन पर एक निशान छोड़ता है। उन निशानों को पाँच मिनट में पढ़ पाना ही एक शांत इंसिडेंट रिव्यू और अंदाज़े के बीच का फ़र्क़ है।

त्वरित अवलोकन

last -a -n 20
lastb -a -n 20
lastlog
who
w

last सफल लॉगिन और उनके पते दिखाता है, lastb — असफल कोशिशें, lastlog — हर यूज़र ने आख़िरी बार कब लॉगिन किया। who और w दिखाते हैं कि इस वक़्त मशीन पर कौन है।

अगर lastlog में www-data जैसे सिस्टम यूज़र के लिए लॉगिन की तारीख़ दिखे, तो यह जाँच करने की गंभीर वजह है।

systemd journal

journalctl -u ssh -n 100
journalctl -u ssh --since "2026-08-20" --until "2026-08-21"
journalctl _COMM=sshd | grep "Accepted"
journalctl _COMM=sshd | grep "Failed password" | tail -50

अहम लाइनें:

लाइनमतलब
Accepted publickey for artemकी से सफल लॉगिन
Accepted password for rootपासवर्ड से सफल लॉगिन — चिंता की बात
Failed password for invalid user adminन होने वाले नामों पर ब्रूट-फ़ोर्स, बैकग्राउंड शोर
Disconnected from authenticating userकोशिश बीच में रद्द हुई

Debian और Ubuntu पर यही इवेंट /var/log/auth.log में भी दर्ज होते हैं; AlmaLinux पर /var/log/secure में।

grep "Accepted" /var/log/auth.log
grep -c "Failed password" /var/log/auth.log

पब्लिक पते पर रोज़ सैकड़ों असफल कोशिशें आम बात हैं। असामान्य कुछ और होता है: किसी ऐसे पते से सफल लॉगिन जिसे आप नहीं पहचानते। शोर के ख़िलाफ़ fail2ban मदद करता है।

लॉगिन के बाद क्या किया गया

journalctl -t sudo -n 100
grep sudo /var/log/auth.log
cat /home/artem/.bash_history

कमांड हिस्ट्री भरोसेमंद नहीं है: उसे मिटाना आसान है, और नॉन-इंटरैक्टिव सेशन के दौरान वह दर्ज ही नहीं होती। sudo का लॉग कहीं ज़्यादा ईमानदार है — उसे शेल नहीं, सिस्टम बनाए रखता है। यह "सामान्य यूज़र प्लस sudo" वाली स्कीम के पक्ष में एक और दलील है, जिसका ज़िक्र यूज़र और sudo लेख में है।

कर्नेल-लेवल की पूरी ऑडिटिंग:

apt install -y auditd
auditctl -w /etc/passwd -p wa -k passwd_changes
ausearch -k passwd_changes

स्टोरेज

डिफ़ॉल्ट रूप से systemd journal मेमोरी में रह सकता है और रीबूट पर खो सकता है। इंसिडेंट रिव्यू के लिए यह बुरा है। फ़ाइल /etc/systemd/journald.conf:

[Journal]
Storage=persistent
SystemMaxUse=500M
MaxRetentionSec=1month
systemctl restart systemd-journald
journalctl --disk-usage

साइज़ की लिमिट ज़रूरी है: डिस्क खा चुका journal सर्विसेज़ को रोक देता है।

आम गलतियाँ

गलतीनतीजासमाधान
रीबूट के बीच journal सेव नहीं होतानिशान खो जाते हैंStorage=persistent
सिर्फ़ .bash_history पर भरोसाडेटा आसानी से बदला जा सकता हैsudo और auditd के लॉग देखें
journal का साइज़ लिमिट नहीं कियाडिस्क भर गईSystemMaxUse
ब्रूट-फ़ोर्स शोर को हैक समझनाझूठा अलार्मFailed नहीं, Accepted देखें

अगर आपको किसी और के पते से सफल लॉगिन मिले, तो मशीन के ख़ुद के लॉग अब भरोसेमंद नहीं माने जा सकते: जिसने लॉगिन किया, वह उन्हें बदल भी सकता था। संक्रमण के संकेत लेख पर चलें और मान लें कि मशीन को दोबारा इंस्टॉल करना पड़ेगा।