इतिहास देखें कि किसने सभी को एक विशेष फ़ाइल खोली


6

मैं कैसे जान सकता हूं कि किसने हाल ही में एक विशेष फ़ाइल खोली है, लेकिन हो सकता है कि इसे फिलहाल खोला नहीं गया हो?

किसी को एक विचार है?


यह पता लगाने का एक तरीका है कि सभी ने यूनिक्स में एक विशेष फ़ाइल को किस तरह से खोला है .. मुझे लगता है कि इस तरह के शक्तिशाली ओएस से उम्मीद करना नाममात्र है।
17

1
जिन उपयोगकर्ताओं ने फ़ाइल खोली है, उन पर नज़र रखना ज़्यादातर फ़ाइलों या कार्यभार के लिए आवश्यक नहीं है। उदाहरण के लिए, कई कंप्यूटरों में केवल एक उपयोगकर्ता होता है, जिससे उपयोगकर्ता सभी फ़ाइलों को खोलता है और कोई भी अन्य नहीं खोलता है। कई सर्वर एक ऐसी प्रक्रिया चलाते हैं, जिसके अपने उपयोगकर्ता खाते (httpd, sql सर्वर, आदि) हैं और OS के उपयोगकर्ता खातों का उपयोग नहीं करते हैं; इसके द्वारा खोली गई कोई भी फ़ाइल उपयोगकर्ता खाते द्वारा खोली जाती है जिसके तहत सेवा चलती है। साथ ही इस सूची पर नज़र रखने वाले कई कंप्यूटरों के प्रदर्शन और डिस्क उपयोग के लिए महत्वपूर्ण प्रभाव पड़ेगा। ऑडिटिंग को सक्षम करने के लिए, आपका सबसे अच्छा दांव संभवतः स्कूपड्रेस का सुझाव दिया गया है।
मिस्टर शाइनी और न्यू iny

आप इसे विंडोज पर डिफ़ॉल्ट रूप से भी नहीं कर सकते।
pjc50

जवाबों:


2

ठीक है, अगर आपका मतलब अतीत में है, तो आप शायद नहीं कर सकते, जब तक कि आपके पास किसी तरह का ऑडिटिंग चालू न हो।

यदि आप नहीं मानते हैं, तो आप फ़ाइल की अनुमतियों और निर्देशिकाओं को देख सकते हैं जिनके पास पहुंच है। आप फ़ाइल नाम के लिए हर किसी की .bash_history फ़ाइल को grep कर सकते हैं।

और वह इसके बारे में है, जहां तक ​​मुझे पता है। यदि वे अभी भी खुले हैं, तो आप उदाहरण के लिए, lsof का उपयोग कर सकते हैं।


9

आप किसी अन्य उत्तर में सुझाए गए ऑडिट पैकेज का उपयोग कर सकते हैं । एक सरल उपयोग होगा:

ऑडिटैक्टल -w / etc / passwd -p war -k पासवर्ड-फाइल

जो इस फाइल पर w rite, एक ppend, r ead संचालन के लिए देखेगा ।

फिर आप कमांड के माध्यम से ऑडिट लॉग को पुनः प्राप्त कर सकते हैं:

ऑसर्च -f / etc / passwd

ये उदाहरण इस लेख से लिए गए हैं जो इन आदेशों की पूरी जानकारी प्रदान करते हैं। Auditd पैकेज आम तौर पर इन आदेशों भी शामिल है।

यदि आप केवल फाइलों के संचालन पर निगरानी रखने में रुचि रखते हैं, और न कि जिन्होंने वास्तव में उन कार्यों का प्रदर्शन किया है, तो आप ऑडिट को सक्षम करने के बजाय inotifywatch कमांड का उपयोग कर सकते हैं । यह आमतौर पर inotify-tools पैकेज के माध्यम से उपलब्ध है । यह लिनक्स के इनोटिफाई इंटरफेस का उपयोग करके फाइलसिस्टम घटनाओं को रिकॉर्ड करता है।



0

fuserआदेश सिर्फ इतना है कि नहीं करता है। इसके अलावा, lsofएक समान काम करता है।

ध्यान दें कि fuserआमतौर पर lsofमेरे अनुभव में, कम वितरण के समय पूर्व-स्थापित होता है।


spatz, क्या आप कह रहे हैं कि फ्यूज़र का उपयोग उस ऐतिहासिक रूप से देखने के लिए किया जा सकता है, जिसने सभी को इस फ़ाइल को खोला है?
चोटी

ऐतिहासिक रूप से नहीं, अभी। हो सकता है कि मैंने आपके प्रश्न को गलत समझा हो, लेकिन मुझे लगा कि आप यह देखने का तरीका ढूंढ रहे हैं कि कौन सी प्रक्रिया / उपयोगकर्ता किसी विशेष फ़ाइल को एक्सेस कर रहा है, और fuserबस यही करता है।
drrlvn

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