आप टाइप की गई हर कमांड को कैसे लॉग इन कर सकते हैं


24

आप हर उस कमांड को कैसे लॉग इन कर सकते हैं जो किसी ने शेल में दर्ज किया है?

यदि आप किसी और के सर्वर में लॉग इन होते हैं और कुछ टूट जाता है, या यदि कोई व्यक्ति आपके सर्वर में लॉग इन किया गया है (या तो जानबूझकर या दुर्भावना से) तो मैं खुद को बचाने के आधार पर दोनों से पूछ रहा हूं।

यहां तक कि एक नौसिखिया कर सकते हैं बाईपास इतिहास के साथ unset historyया उनके पटरियों को छिपाने के लिए एक नया खोल पैदा करते हैं।

मैं उत्सुक हूं कि सीनियर लिनक्स के प्रवेश कैसे ट्रैक करते हैं कि क्या कमांड दर्ज किए गए हैं / सिस्टम में किए गए बदलाव।

जवाबों:


29

ऑडिट की जाँच करें । अगर आप जोड़ते हैं

-a exit,always -F arch=b64 -S execve
-a exit,always -F arch=b32 -S execve

करने के लिए /etc/audit/audit.rulesहर निष्पादित आदेशों लॉग इन किया जाएगा। देखें: http://whmcr.com/2011/10/14/auditd-log-all-commands/

फिर इसे एक syslog सर्वर पर भेजें।


निश्चित रूप execveसे केवल syscall नहीं है जिसे आपको लॉग इन करने की आवश्यकता है। execvpसाथ ही क्यों नहीं ? या execl? आदि
2rs2ts

दरअसल, मैंने देखा कि इसके लिए मैन पेज में execकहा गया है कि " exec() फ़ंक्शन का परिवार एक नई प्रक्रिया छवि के साथ वर्तमान प्रक्रिया छवि को बदल देता है। इस मैनुअल पृष्ठ में वर्णित फ़ंक्शन के लिए फ्रंट-एंड हैं execve(2)।" इसलिए जब तक मुझे यकीन नहीं होता कि execveatमैं execपरिवार के बारे में आश्वस्त महसूस कर सकता हूं ।
2rs2ts

5

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

$ स्क्रिप्ट
स्क्रिप्ट शुरू हुई, फ़ाइल टाइपस्क्रिप्ट
$ _ नोट है कि यह एक और शेल है - लॉगिन शेल का बच्चा

शीघ्र रिटर्न और आपके सभी कीस्ट्रोक्स (जिसमें बैकस्पेस का उपयोग किया जाता है), जो अब आप यहां दर्ज करते हैं, फ़ाइल'स्क्रिप्ट 'में दर्ज हो जाते हैं। आपकी रिकॉर्डिंग समाप्त होने के बाद, आप बाहर निकलकर सत्र समाप्त कर सकते हैं ।
नोट: यदि आप स्क्रिप्ट फ़ाइल नाम दर्ज करते हैं , तो सत्र टाइपस्क्रिप्ट के बजाय फ़ाइल फ़ाइलनाम में संग्रहीत किया जाएगा , अर्थात, टाइपस्क्रिप्ट डिफ़ॉल्ट है यदि कोई विशिष्ट फ़ाइल नाम निर्दिष्ट नहीं है।

अब आप रिकॉर्ड किए गए सत्र को देखने के लिए बिल्ली का नाम या बिल्ली टाइपस्क्रिप्ट का उपयोग कर सकते हैं , जो भी हो।

यदि आप एक नए सत्र को एक पुरानी फ़ाइल के उपयोग के लिए जोड़ना चाहते हैं: स्क्रिप्ट -a नए सत्र को टाइपस्क्रिप्ट में लागू करता है, वही डिफ़ॉल्ट रूप से भी लागू होता है

यह एक तरीका है जिसमें एक सिस्टम एडमिन सत्रों का ट्रैक रख सकता है। आशा है कि यह जानकारीपूर्ण और उपयोगी रहा है। चीयर्स!

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