কী ফাইল খুলবে তা নিরীক্ষণ করবেন


9

সিস্টেমে কোন ফাইলগুলি কী প্রসেসগুলি খোলার তা নিরীক্ষণের জন্য কি কোনও সরঞ্জাম রয়েছে যাতে আপনি কোন প্রক্রিয়াটি নির্দিষ্ট ফাইলটিকে স্পর্শ করে রাখতে পারেন তা ট্র্যাক করতে পারেন?

প্রক্রিয়াটি ফাইলটি খোলার সময় আপনি চালিত কিনা তা Lsof জানতে পারে, তবে এটি যদি একটি স্বল্পস্থায়ী প্রক্রিয়া হয় যা প্রতি একবারে একবারে সঞ্চালিত হয়, আপনি এটি লসফ দিয়ে ধরতে পারবেন না। কার্নেল ট্রেসিং ব্যবহার করে এমন কিছু দরকার।


আপনি inotify চেক আউট করেছেন? @ Kees এর উত্তর এখানে উদাহরণস্বরূপ দেখুন: askubuntu.com/questions/25442/... এখানে আমার উত্তর লিঙ্ক একটি দম্পতি আছে: askubuntu.com/questions/29566/...
belacqua

@ jgbelacua এর মধ্যে দুটিই আমি সন্ধান করছি না। ইনোটিফাই আপনাকে জানাতে পারে যখন কোনও প্রদত্ত ফাইল স্পর্শ করা হয়, এবং lsof আপনাকে বলতে পারে কোনও প্রক্রিয়া কোন ফাইলগুলি খোলে, বা কোন প্রক্রিয়াতে কোনও ফাইল খোলা থাকে, তবে আমার কী প্রক্রিয়া কোনও ফাইলকে স্পর্শ করে রাখে, তারপরে এটি বন্ধ করার আগে আমার তা নির্ধারণ করা দরকার এটি ধরতে চালাও
psusi

উত্তর:


7

আপনি সম্ভবত এটির জন্য অডিট সিস্টেম ব্যবহার করতে পারেন। এটি সামান্য হেভিওয়েট, তবে এর মতো কিছু কাজ করা উচিত (/etc/audit/audit.rules এ):

# delete all other rules
-D

# watch the file in question
-w /path/to/file -p rwxa

এবং তারপরে আমার মনে হয় আপনার নিরীক্ষা পুনরায় চালু করা দরকার:

sudo service audit restart

(যদি আপনি এটি ইনস্টল না করে থাকেন তবে এটি প্যাকেজ অডিটে রয়েছে)) তবে অপরাধীকে /var/log/audit/audit.log-এ পাওয়া যাবে।


পারফেক্ট! আমি ঠিক তাই খুঁজছিলাম।
psusi

0

দুর্ভাগ্যক্রমে লিনাক্স ফাইলগুলি নিরীক্ষণ করার জন্য যে মেকানিজমটি ব্যবহার করে তা হ'ল inotify, যা দরকারী ডেটা আহরণের জন্য পর্যাপ্ত তথ্য সরবরাহ করে না: আপনি কেবলমাত্র ফাইলের নাম এবং যে ক্রিয়াটি করেছিলেন তা পান।

আমি এই জাতীয় কিছু ব্যবহার করার চেষ্টা করেছি:

sudo inotifywait -mr somedir --format "%w%f" | while read file; do echo -n "$file => ";lsof -b $file; echo ""; done

এটি নির্দিষ্ট ডিরেক্টরিতে ইভেন্টগুলি ইনোটিফাইয়ের শোনায় এবং প্রতিটি ইভেন্টের জন্য এটি ফাইলটি স্পর্শ করে এমন প্রক্রিয়াটি ধরার চেষ্টা করে lsof চালায়। দুর্ভাগ্যক্রমে আমি পরীক্ষিত বেশিরভাগ অ্যাক্সেসের জন্য (যেমন কোনও ফাইলটিতে লেখার জন্য সম্পাদক ব্যবহার করে) এলএসএফ কমান্ডটি কেবল ধীর হয়ে যায় এবং আপত্তিজনক প্রক্রিয়াটি ধরতে পরিচালিত হয় না।

যদি আপনার প্রক্রিয়াগুলি সমস্যাযুক্ত ফাইলগুলিতে আরও কিছু নিবিড় আইও করে, তবে আপনার মাইলেজটি আলাদা হতে পারে। শুভকামনা।


0

fnotifystat একটি সরঞ্জাম যা লিনাক্স ফাইল ক্রিয়াকলাপ দেখার জন্য ডিজাইন করা হয়েছে

sudo apt-get install fnotifystat
sudo fnotifystat
Total   Open  Close   Read  Write   PID  Process         Pathname
  7.0    1.0    1.0    5.0    0.0   2075 libvirtd        /proc/cpuinfo
  6.0    2.0    2.0    2.0    0.0   2075 libvirtd        /sys/devices/system/cpu/cpu0/topology/physical_package_id
  6.0    2.0    2.0    2.0    0.0   2075 libvirtd        /sys/devices/system/cpu/cpu1/topology/physical_package_id
  6.0    2.0    2.0    2.0    0.0   2075 libvirtd        /sys/devices/system/cpu/cpu2/topology/physical_package_id
  6.0    2.0    2.0    2.0    0.0   2075 libvirtd        /sys/devices/system/cpu/cpu3/topology/physical_package_id
  4.0    1.0    1.0    2.0    0.0   2075 libvirtd        /sys/devices/system/node
  4.0    1.0    1.0    2.0    0.0   2075 libvirtd        /sys/devices/system/node/node0
  4.0    2.0    2.0    0.0    0.0  15313 gnome-calendar  /usr/share/zoneinfo/Europe/London
  3.0    1.0    1.0    1.0    0.0   2075 libvirtd        /sys/devices/system/cpu/cpu0/topology/core_id
  3.0    1.0    1.0    1.0    0.0   2075 libvirtd        /sys/devices/system/cpu/cpu0/topology/thread_siblings_list
  3.0    1.0    1.0    1.0    0.0   2075 libvirtd        /sys/devices/system/cpu/cpu1/topology/core_id
  3.0    1.0    1.0    1.0    0.0   2075 libvirtd        /sys/devices/system/cpu/cpu1/topology/thread_siblings_list
  3.0    1.0    1.0    1.0    0.0   2075 libvirtd        /sys/devices/system/cpu/cpu2/topology/core_id
  3.0    1.0    1.0    1.0    0.0   2075 libvirtd        /sys/devices/system/cpu/cpu2/topology/thread_siblings_list
  3.0    1.0    1.0    1.0    0.0   2075 libvirtd        /sys/devices/system/cpu/cpu3/topology/core_id
  3.0    1.0    1.0    1.0    0.0   2075 libvirtd        /sys/devices/system/cpu/cpu3/topology/thread_siblings_list
  3.0    1.0    1.0    1.0    0.0   2075 libvirtd        /sys/devices/system/cpu/online
  3.0    1.0    1.0    1.0    0.0   2075 libvirtd        /sys/devices/system/cpu/present
  3.0    1.0    1.0    1.0    0.0   2075 libvirtd        /sys/devices/system/node/node0/meminfo
  2.0    0.0    0.0    0.0    2.0  12174 xchat           /home/cking/.xchat2/xchatlogs/FreeNode-#ubuntu-release.log
  1.0    0.0    0.0    0.0    1.0  12174 xchat           /home/cking/.xchat2/xchatlogs/FreeNode-#ubuntu-desktop.log
  1.0    0.0    0.0    0.0    1.0  12174 xchat           /home/cking/.xchat2/xchatlogs/FreeNode-#ubuntu-devel.log
  1.0    0.0    0.0    0.0    1.0  12174 xchat           /home/cking/.xchat2/xchatlogs/FreeNode-#ubuntu-kernel.log

থামার আগ পর্যন্ত প্রতি 60 সেকেন্ডে শীর্ষ 10 সক্রিয় ফাইলগুলি দেখান:

sudo fnotifystat -t 10 60

প্রতি 10 সেকেন্ডে মাত্র 6 বার ফাইলের অ্যাকিভিটি দেখান:

sudo fnotifystat 10 6

থান্ডারবার্ড এবং প্রক্রিয়া ID 1827 এর ফাইল ক্রিয়াকলাপ দেখান:

sudo fnotifystat -p thunderbird,1827

প্রতিটি ফাইলকে सूचित করুন ইভেন্ট এবং শীর্ষ ২০ টি সক্রিয় ক্রিয়াকলাপ ফাইলকে 5 মিনিটের একক সময়কালে দেখান:

sudo sudo notifystat -v -d -c 5m 1

কেবলমাত্র প্রতিটি ফাইলই / sys এবং / proc এবং ইভেন্ট পর্যায়ক্রমিক পরিসংখ্যান দেখান:

sudo fnotifystat -n -i /sys,/proc

আরও তথ্যের জন্য fnotifystat ম্যান পৃষ্ঠা দেখুন, এটি বেশ নমনীয় সরঞ্জাম।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.