Linux ortamında satıcı kimliğine göre usb cihazlarını devre dışı bırakmak istiyorum. Satıcı kimliğine göre yalnızca belirli USB aygıtlarına izin vermek istiyorum.
Linux ortamında satıcı kimliğine göre usb cihazlarını devre dışı bırakmak istiyorum. Satıcı kimliğine göre yalnızca belirli USB aygıtlarına izin vermek istiyorum.
Yanıtlar:
Aygıtları varsayılan olarak devre dışı bırakan, ancak bazılarını satıcı kimliğiyle etkinleştiren bir udev kuralı oluşturabilirsiniz. /etc/udev/rules.d/01-usblockdown.rules
Cihazları devre dışı bırakmak için kural içeren bir dosya oluşturun:
ACTION=="add", SUBSYSTEMS=="usb", RUN+="/bin/sh -c 'for host in /sys/bus/usb/devices/usb*; do echo 0 > $host/authorized_default; done'"
Ve sonra izin vermek istediğiniz cihazları etkinleştirme kuralları ( ATTR{idVendor}
satıcı kimliğine ulaşmak için kullanabilirsiniz ):
ACTION=="add", ATTR{idVendor}=="0000" RUN+="/bin/sh -c 'echo 1 >/sys$DEVPATH/authorized'"
Daha fazla bilgi için bkz. "UDEV kullanarak Linux'u kilitleme" .
(Bu bir yorum olarak daha iyi olabilirdi ama bir cevaba kadar genişletilmiş puan eksikliği)
Buraya satıcı ve ürün kimliğiyle belirli bir cihazı devre dışı bırakmak dışında tüm usb cihazlarına nasıl izin verileceğini aramak için geldim. Udev ile bir usb ses cihazı nasıl devre dışı bırakılır 0d8c: 000c örneği için cevap verir.
Oluşturun /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'"
Orada cevap ve aşağıda bir yorum arasında bir tutarsızlık RUN=
vs RUN+=
, ben eski denenmiş ve cezası çalıştı.
Dmesg veya lusb'un farklı rapor vermesini bekliyordum, ancak ikisi de yetkisiz cihazın daha önce olduğu gibi numaralandırıldığını gösteriyor, ancak otomatik olarak başlatılacak diğer işlemler / modüller, istenen etkiyi göstermiyor gibi görünüyor. cat /sys/bus/usb/devices/1-2.2.1.1.4/authorized
(örneğin dmesg'de bulunan 1-2.2 ...) 0'ın doğru yere yerleştirildiğini gösterir.
ATTRS
(çoğul) ve ATTR
ben aygıtları sorgulamak zaman değil udevadm
.