আমি লিনাক্স পরিবেশে বিক্রেতা আইডির ভিত্তিতে ইউএসবি ডিভাইসগুলি অক্ষম করতে চাই। আমি বিক্রেতার আইডির ভিত্তিতে কেবলমাত্র নির্দিষ্ট ইউএসবি ডিভাইসগুলিতে অনুমতি দিতে চাই।
আমি লিনাক্স পরিবেশে বিক্রেতা আইডির ভিত্তিতে ইউএসবি ডিভাইসগুলি অক্ষম করতে চাই। আমি বিক্রেতার আইডির ভিত্তিতে কেবলমাত্র নির্দিষ্ট ইউএসবি ডিভাইসগুলিতে অনুমতি দিতে চাই।
উত্তর:
আপনি একটি ওদেব বিধি তৈরি করতে পারেন যা ডিফল্টরূপে ডিভাইসগুলিকে অক্ষম করে, তবে বিক্রেতা আইডির মাধ্যমে নির্দিষ্ট কিছু সক্ষম করে। /etc/udev/rules.d/01-usblockdown.rulesএমন একটি ফাইল তৈরি করুন যাতে ডিভাইসগুলি অক্ষম করার নিয়ম থাকে:
ACTION=="add", SUBSYSTEMS=="usb", RUN+="/bin/sh -c 'for host in /sys/bus/usb/devices/usb*; do echo 0 > $host/authorized_default; done'"
এবং তারপরে আপনি যে ডিভাইসগুলি মঞ্জুর করতে চান তা সক্ষম করার নিয়ম করুন (আপনি ATTR{idVendor}বিক্রেতা আইডিতে ব্যবহার করতে পারেন ):
ACTION=="add", ATTR{idVendor}=="0000" RUN+="/bin/sh -c 'echo 1 >/sys$DEVPATH/authorized'"
আরও তথ্যের জন্য "ইউডিইভি ব্যবহার করে লিনাক্স লকডাউন ডাউন" দেখুন ।
(এটি একটি মন্তব্য হিসাবে ভাল হতে পারে তবে আমার এগুলির একটি উত্তর হিসাবে প্রসারিত পয়েন্টের অভাব রয়েছে)
আমি এখানে বিক্রেতার এবং পণ্য আইডি দ্বারা নির্দিষ্ট কোনও অক্ষম করা বাদে সমস্ত ইউএসবি ডিভাইসগুলিকে কীভাবে অনুমতি দেওয়া যায় তা সন্ধান করতে এসেছি। ইউদেব সহ কোনও ইউএসবি সাউন্ড ডিভাইস কীভাবে অক্ষম করবেন তা 0d8c: 000c উদাহরণের জন্য উত্তর দেয়।
তৈরি করুন /etc/udev/rules.d/disable-usb-device.rules:
ACTION=="add", ATTR{idVendor}=="0d8c", ATTR{idProduct}=="000c", RUN="/bin/sh -c 'echo 0 >/sys/\$devpath/authorized'"
উত্তর এবং RUN=বনামের সাথে নীচের মন্তব্যের মধ্যে একটি তফাত আছে RUN+=, আমি প্রাক্তনটি চেষ্টা করেছিলাম এবং এটি ভাল কাজ করেছে।
আমি আশা করছিলাম dmesg বা lusb আলাদাভাবে রিপোর্ট করবে তবে তারা উভয়ই অনুমোদনপ্রাপ্ত ডিভাইসটিকে আগের মতোই গণনা করা দেখায়, তবে অন্যান্য প্রক্রিয়া / মডিউলগুলি যেগুলি স্বয়ংক্রিয়ভাবে চালু হয়েছিল সেটি প্রত্যাশিত প্রভাব হিসাবে চলতে দেখা যাচ্ছে না। cat /sys/bus/usb/devices/1-2.2.1.1.4/authorized(1-2-1.2 ... উদাহরণস্বরূপ যা ডেমসগে পাওয়া যায়) দেখায় যে 0 টি সঠিক জায়গায় রাখা হয়েছিল।
ATTRS(বহুবচন) এবং ATTRযখন আমি ডিভাইসগুলির সাথে কোয়েরি করি না তখন তা নয় udevadm।