मैं उस समय की संख्या को खोजने की कोशिश कर रहा हूं जब कोई फ़ाइल खोली गई है (ओएस स्थापना के बाद से)। मैं इसे स्टैट के माध्यम से करने की सोच रहा हूं, लेकिन अधिकांश झंडे केवल खोले गए लास्ट के बीच के अंतर को वापस करते हैं।
मैं उस समय की संख्या को खोजने की कोशिश कर रहा हूं जब कोई फ़ाइल खोली गई है (ओएस स्थापना के बाद से)। मैं इसे स्टैट के माध्यम से करने की सोच रहा हूं, लेकिन अधिकांश झंडे केवल खोले गए लास्ट के बीच के अंतर को वापस करते हैं।
जवाबों:
इस उत्तर बताते हैं क्या किया जाना चाहिए, लेकिन की बारीकियों कैसे अपनी वितरण पर निर्भर करते हैं, अपने स्थापना और उद्देश्य है, और जो उपकरण आप डेटा पार्स करने के लिए चुनें:
आप जो खोज रहे हैं वह लिनक्स के भीतर ऑडिट डेमॉन है। मैनपेज ऑडिट (8) से :
ऑडिट लिनक्स ऑडिटिंग सिस्टम के लिए यूजरस्पेस घटक है। यह डिस्क पर ऑडिट रिकॉर्ड लिखने के लिए जिम्मेदार है। लॉग देखने के लिए ausearch या aureport उपयोगिताओं के साथ किया जाता है । ऑडिट नियमों को कॉन्फ़िगर करना ऑडिटैक्टल उपयोगिता के साथ किया जाता है । स्टार्टअप के दौरान, नियमों को ऑडिटैक्टल
/etc/audit/audit.rules
द्वारा पढ़ा जाता है और कर्नेल में लोड किया जाता है। समान रूप से, एक अग्न्याशय कार्यक्रम भी है जो स्थित नियमों को पढ़ता है और उन्हें एक फ़ाइल में संकलित करता है । ऑडिट डेमॉन में स्वयं कुछ विन्यास विकल्प हैं जिन्हें व्यवस्थापक अनुकूलित करना चाहता है। वे फ़ाइल में पाए जाते हैं ।/etc/audit/rules.d/
audit.rules
auditd.conf
ऑडिटिंग कर्नेल में निर्मित फ़ंक्शंस का उपयोग करता है जब भी आपके सिस्टम के अनुसार कुछ सिस्टम कॉल किए जाते हैं, तो लॉग बनाने के लिए। एक बार सेटअप होने के बाद, आप /var/log/audit
अपने वितरण के अनुसार या कहीं और लॉग पाएंगे ।
किसी फ़ाइल तक पहुंच का ऑडिट करने के लिए, आप कुछ इसी तरह का उपयोग करेंगे:
auditctl -w /path/to/interesting/files/ -p rwxa -k myfileaudits
कहाँ -w
फ़ाइलों के लिए पथ निर्दिष्ट करता है -p
निर्दिष्ट करता है कि सिस्टम का ऑडिट होगा आर EADS डब्ल्यू संस्कार, ई एक्स ecutions, और एक ttribute या अनुमति बदल जाता है। अंत में, -k
विकल्प है जब साथ इस नियम के लिए खोज आप उपयोग के लिए एक मनमाना कुंजी निर्दिष्ट कर सकते हैं ausearch ।
ध्यान दें, हालांकि ऑडिट सिस्टम कॉल से काम करता है , लेकिन रीड फ़ंक्शन को -p r
ट्रैक नहीं करता है , बल्कि खुला है ताकि लॉग हर रीड के साथ बाढ़ न आए, लेकिन एक प्रविष्टि हर बार एक फाइल पढ़ने के लिए खोली जाती है।
एक बार ऑडिटिंग चालू हो जाने के बाद, और लॉग में जगह हो जाती है, इन फ़ाइलों को निर्दिष्ट फ़ाइलों तक पहुँच के लिए इन लॉग को पार्स करने के लिए उपयोग किया जा सकता है, और लंबा बनाने के लिए मानक पाठ या सांख्यिकी टूल का उपयोग किया जा सकता है। इन से भिन्न हो सकते हैं grep
और wc -l
लॉग प्रविष्टियों गिनती करने के लिए, या पटकथा और के कुछ संयोजन जीएनयू-आर या gnuplot ग्राफ़ और रिपोर्ट उत्पन्न करने के लिए।
एक अन्य विकल्प SELinux का उपयोग करना है । जबकि SELinux अभिगम नियंत्रण का एक उपकरण है जो आम तौर पर केवल पहुंच-अस्वीकरणों को लॉग करता है, यह सभी एक्सेस लॉग करने के लिए सेटअप हो सकता है, और ऑडिट के लिए समान जानकारी प्रदान कर सकता है।
संपादित करें: यदि प्रारंभ से ही रिकॉर्ड का उपयोग आवश्यक है : उदाहरण के लिए, ओएस इंस्टॉलेशन के दौरान, बूट से पहले ऑडिट शुरू करने से पहले, या ऑडिट इंस्टॉलेशन से पहले, तब अधिक चरम उपायों की आवश्यकता होती है। initrd.img
आवश्यक डिबगर या कर्नेल स्तर अनुरेखण उपकरण को लोड करने के लिए एक कस्टम इंस्टॉलर या कस्टम बूट फ़ाइल बनाई जा सकती है। इन ट्रेसिंग टूल्स में बूट के दौरान एक्सेस को पकड़ने के लिए dtrace , perf , SystemTap , ktap या इसी तरह के डिबगर लेवल टूल्स शामिल हो सकते हैं। एक अच्छा संदर्भ http://www.brendangregg.com/linuxperf.html है और सिस्टम प्रदर्शन के लिए विश्लेषण के इस प्रकार का एक उदाहरण है, बजाय ऑडिटिंग बूटचैट ।
हालांकि इसे स्थापित करना मेरे अनुभव के दायरे से परे है - आशा है कि संदर्भ उपयोगी साबित होंगे।
i_*time
विभिन्न अंतःक्रिया समयों के लिए प्रविष्टियाँ जैसे : एक्सेस, इनोड परिवर्तन, डेटा संशोधन और विलोपन।