पता करें कि कौन सी फाइलें पढ़ी या लिखी गई हैं


14

मैं देखना चाहता हूं कि कौन सी फाइलें पढ़ी या लिखी गई हैं।

क्या इसके लिए कोई कार्यक्रम या एक आदेश है? मुझे याद है कि जब मैंने कुछ साल पहले खिड़कियों का उपयोग किया था, तो मैं वायरस और मैलवेयर छिपने के स्थानों का शिकार करने के लिए इस पद्धति का उपयोग करता था।

जवाबों:


16

वह प्रोग्राम है ("सूची ओपन फाइल्स")lsof

  • यदि आप केवल एक टर्मिनल खोलते हैं और टाइप करते हैं lsof, तो आपको सभी खुली फ़ाइलों की एक विशाल सूची मिलती है, इसके बजाय, इसे एक कमांड तक सीमित करें:

    lsof -c gnome-terminal
    
  • आप टाइप करके अपनी खोज को एक विशेष निर्देशिका तक सीमित कर सकते हैं

    lsof -c gnome-terminal -a +D /tmp
    
  • या सभी खुली फाइलों को एक विशिष्ट निर्देशिका में सूचीबद्ध करें, जिसमें यह भी शामिल है कि किस एप्लिकेशन ने इसे खोला है:

    lsof /dev/urandom
    

याद रखें कि सुपरयूसर रूट द्वारा कुछ प्रक्रियाएं शुरू की जाती हैं , आपको sudoइस तरह की प्रक्रियाओं के बारे में अधिक जानकारी प्राप्त करने के लिए अपनी कमांड के सामने रखनी पड़ सकती है ।

अपनी खोज को कम करने के लिए, आप grepविशिष्ट लाइनें, अर्थात:

lsof /dev/urandom | grep chrome

  • FD(फ़ाइल डिस्क्रिप्टर) उत्पादन का कॉलम आप प्रोग्राम फ़ाइल (जरूरी क्या पल में इसे करने के लिए हो रहा है नहीं) खोलने के उद्देश्य के बारे में जानकारी देता है:

    • r इसका मतलब है कि फ़ाइल को पढ़ने के लिए खोला गया है

    • w मतलब फ़ाइल लिखने के लिए खोली गई है

    • u इसका मतलब है कि फ़ाइल को पढ़ने और लिखने दोनों के लिए खोला गया है


अधिक जानकारी के लिए, मैनुअल पेज ( man lsof) से परामर्श करें । इसके अलावा, यदि आपको किसी भी फाइल और निर्देशिका को देखने की जरूरत है, तो लिनक्स फाइलसिस्टम पदानुक्रम मानक बहुत मददगार है।


6

एक संपूर्ण ओवर-किल विकल्प के रूप में, लेकिन वह जो वास्तविक समय में काम करता है, आप inotify का उपयोग कर सकते हैं:

sudo inotifywait -m -r /

ध्यान दें कि यह बहुत अधिक मेमोरी का उपभोग करेगा, और सेट होने में लंबा समय लेगा। जैसा कि मैनपेज कहता है:

   -r, --recursive
          Watch all subdirectories of any directories passed as arguments.
          Watches  will be set up recursively to an unlimited depth.  Sym‐
          bolic links are not  traversed.   Newly  created  subdirectories
          will also be watched.

          Warning:  If  you use this option while watching the root direc‐
          tory of a large tree, it may take quite a while until  all  ino‐
          tify watches are established, and events will not be received in
          this time.  Also, since one inotify watch  will  be  established
          per subdirectory, it is possible that the maximum amount of ino‐
          tify watches per user will be reached.  The default  maximum  is
          8192;  it  can  be  increased  by  writing  to /proc/sys/fs/ino‐
          tify/max_user_watches.

यह आपको यह भी नहीं बताता है कि कौन सी प्रक्रिया फ़ाइलों के साथ खिलवाड़ कर रही है, लेकिन इससे होने वाले परिवर्तनों को पहचानने में मदद मिल सकती है। "-ई ओपन" का उपयोग करने से वास्तव में व्यस्त प्रणाली पर शोर को कम करने में मदद मिल सकती है।


मुझे पूरा यकीन है कि यह पहले / in_ify / max_user_watches के लिए एक उच्च सीमा निर्धारित किए बिना काम नहीं करेगा। आप सिस्टम पर हर एक फ़ाइल में एक घड़ी जोड़ने की कोशिश कर रहे हैं ...
वोल्कर सीगल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.