मैं कैसे जान सकता हूं कि किसने हाल ही में एक विशेष फ़ाइल खोली है, लेकिन हो सकता है कि इसे फिलहाल खोला नहीं गया हो?
किसी को एक विचार है?
मैं कैसे जान सकता हूं कि किसने हाल ही में एक विशेष फ़ाइल खोली है, लेकिन हो सकता है कि इसे फिलहाल खोला नहीं गया हो?
किसी को एक विचार है?
जवाबों:
ठीक है, अगर आपका मतलब अतीत में है, तो आप शायद नहीं कर सकते, जब तक कि आपके पास किसी तरह का ऑडिटिंग चालू न हो।
यदि आप नहीं मानते हैं, तो आप फ़ाइल की अनुमतियों और निर्देशिकाओं को देख सकते हैं जिनके पास पहुंच है। आप फ़ाइल नाम के लिए हर किसी की .bash_history फ़ाइल को grep कर सकते हैं।
और वह इसके बारे में है, जहां तक मुझे पता है। यदि वे अभी भी खुले हैं, तो आप उदाहरण के लिए, lsof का उपयोग कर सकते हैं।
आप किसी अन्य उत्तर में सुझाए गए ऑडिट पैकेज का उपयोग कर सकते हैं । एक सरल उपयोग होगा:
ऑडिटैक्टल -w / etc / passwd -p war -k पासवर्ड-फाइल
जो इस फाइल पर w rite, एक ppend, r ead संचालन के लिए देखेगा ।
फिर आप कमांड के माध्यम से ऑडिट लॉग को पुनः प्राप्त कर सकते हैं:
ऑसर्च -f / etc / passwd
ये उदाहरण इस लेख से लिए गए हैं जो इन आदेशों की पूरी जानकारी प्रदान करते हैं। Auditd पैकेज आम तौर पर इन आदेशों भी शामिल है।
यदि आप केवल फाइलों के संचालन पर निगरानी रखने में रुचि रखते हैं, और न कि जिन्होंने वास्तव में उन कार्यों का प्रदर्शन किया है, तो आप ऑडिट को सक्षम करने के बजाय inotifywatch कमांड का उपयोग कर सकते हैं । यह आमतौर पर inotify-tools पैकेज के माध्यम से उपलब्ध है । यह लिनक्स के इनोटिफाई इंटरफेस का उपयोग करके फाइलसिस्टम घटनाओं को रिकॉर्ड करता है।
ऑडिट आपका दोस्त है।
हालांकि अभी तक अधिकांश लिनक्स डिस्ट्रो पर डिफ़ॉल्ट रूप से इंस्टॉल नहीं किया गया है।
fuserआदेश सिर्फ इतना है कि नहीं करता है। इसके अलावा, lsofएक समान काम करता है।
ध्यान दें कि fuserआमतौर पर lsofमेरे अनुभव में, कम वितरण के समय पूर्व-स्थापित होता है।
fuserबस यही करता है।
ऐसा करने का एक और तरीका है- inotify, http://www.ibm.com/developerworks/linux/library/l-inotify.html