मैं लिनक्स वातावरण में वेंडर आईडी के आधार पर USB उपकरणों को निष्क्रिय करना चाहता हूं। मैं विक्रेता आईडी के आधार पर केवल विशिष्ट USB उपकरणों की अनुमति देना चाहता हूं।
मैं लिनक्स वातावरण में वेंडर आईडी के आधार पर USB उपकरणों को निष्क्रिय करना चाहता हूं। मैं विक्रेता आईडी के आधार पर केवल विशिष्ट USB उपकरणों की अनुमति देना चाहता हूं।
जवाबों:
आप एक udv नियम बना सकते हैं जो डिफ़ॉल्ट रूप से उपकरणों को निष्क्रिय करता है, लेकिन कुछ लोगों को विक्रेता आईडी द्वारा सक्षम बनाता है। एक फाइल बनाएं /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'"
अधिक जानकारी के लिए "UDEV का उपयोग करके लिनक्स को बंद करना" देखें ।
(यह एक टिप्पणी के रूप में बेहतर हो सकता है लेकिन मेरे पास अंकों की कमी है इसलिए इसे एक उत्तर में विस्तारित किया है)
मैं यहां आया था कि कैसे विक्रेता और उत्पाद आईडी द्वारा किसी विशिष्ट को अक्षम करने के अलावा सभी यूएसबी उपकरणों की अनुमति दी जाए। Udv के साथ एक usb साउंड डिवाइस को कैसे निष्क्रिय करें यह 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.2 ... उदाहरण के लिए जो dmesg में पाया जा सकता है) से पता चलता है कि 0 को सही जगह पर रखा गया था।
ATTRS
(बहुवचन) और न कि ATTR
जब मैं उपकरणों के साथ काम करता हूं udevadm
।