যে কোনও বুদ্ধিমান সিস্টেমে আপনি নিজের নিজের সাথে ক্রুট সেট আপ না করে /dev
সমস্ত ডিভাইস ফাইলের অধীনে রয়েছে /dev
। কেবল রুটই ডিভাইস ফাইল তৈরি করতে পারে, সুতরাং দূষিত ব্যবহারকারীদের অন্য কোথাও ডিভাইস ফাইল তৈরি করার বিষয়ে আপনার চিন্তা করার দরকার নেই।
সুতরাং আপনাকে যা করতে হবে তা হ'ল সেই ফাইলগুলির অধীনে /dev
একই ডিভাইসটিকে আপনার আগ্রহী হিসাবে উল্লেখ করা উচিত।
ls -lR /dev |awk '/^c/ && $5 == "81," && $6 == "0"'
এটি সম্ভবত এটি প্রদর্শিত হবে সম্ভবত /dev/video0
। সাধারণত, প্রতিটি ডিভাইসের জন্য একটি একক ডিভাইস ফাইল রয়েছে এবং এটিতে সম্ভবত অতিরিক্ত প্রতীকী লিঙ্ক রয়েছে।
সুতরাং আপনার প্রশ্নের ব্যবহারিক উত্তর হ'ল সহজ। ডিভাইস ফাইলটি কী প্রসেসে খোলা রয়েছে তা কেবল পরীক্ষা করে দেখুন।
fuser /dev/video0
আপনি যদি অ্যাক্সেসগুলি নিরীক্ষণ করতে চান (যেমন যেকোন সময় ডিভাইস ফাইল খুলতে পারে এমন প্রক্রিয়াগুলি ধরুন), ডিভাইস ফাইলগুলিতে লিনাক্সের একটি ফাইল অ্যাক্সেস মনিটরিং পদ্ধতি ব্যবহার করুন: একটি ঘড়ি সেটআপ করুন (এবং কী কী প্রক্রিয়াতে ইতিমধ্যে ডিভাইস রয়েছে তা পরীক্ষা করুন ফাইল (গুলি) খোলা
inotifywait -m -e open,close /dev/video0 &
sleep 1; fuser /dev/video0 # check for processes that have already opened the device
বা একটি অডিট নিয়ম সেট আপ করুন যা সিস্টেম লগগুলিতে অ্যাক্সেসগুলিতে লগ করে (সাধারণত /var/log/audit/audit.log
)
auditctl -w path=/dev/video0 &
sleep 1; fuser /dev/video0 # check for processes that have already opened the device
lsof
(এবংfuser
) ডিফল্টরূপে আপনার যা প্রয়োজন তা করে না।