Я пытаюсь создать белый список, используя правила udev для USB-устройств на моем компьютере с CentOS, однако я получаю противоречивые результаты.
Я попытался заблокировать одно устройство на определенном USB-порту, используя:
'echo 0/1> / sys / bus / usb / devices / 1-4 / авторизован' и настройка ATTR {авторизованный} = "0/1", которая работала нормально, однако, когда я пытаюсь заблокировать / разрешить все другие устройства, он кажется, игнорирует противоположное правило.
Я также попытался добавить опцию "last_rule", но без усиления.
Мое правило размещено в /etc/udev/rules.d/01-usb-block.rules:
ACTION != "add", GOTO = "usblist_rules_end"
SUBSYSTEM == "usb", GOTO = "usblist_usb_rules"
GOTO="usblist_rules_end"
LABEL="usblist_usb_rules"
# Enable G20
ATTR{idVendor}=="0525", GOTO="usblist_rules_end"
ATTRS{idVendor}=="0525", GOTO="usblist_rules_end"
# Enable USB to serial hub
ATTR{idVendor}=="0403", GOTO="usblist_rules_end"
ATTRS{idVendor}=="0403", GOTO="usblist_rules_end"
# Enable linux foundation 3.0 root hub
ATTR{idVendor}=="1d6b", ATTR{idProduct}=="0003", GOTO="usblist_rules_end"
ATTRS{idVendor}=="1d6b", ATTRS{idProduct}=="0003", GOTO="usblist_rules_end"
# Enable linux foundation 2.0 root hub
ATTR{idVendor}=="1d6b", ATTR{idProduct}=="0002", GOTO="usblist_rules_end"
ATTRS{idVendor}=="1d6b", ATTRS{idProduct}=="0002", GOTO="usblist_rules_end"
# Disable all other devices
ATTR{authorized}="0"
ATTRS{authorized}="0"
LABEL="usblist_rules_end"
EOF
Когда я подключаю USB-мышь или клавиатуру, кажется, что «авторизованный» атрибут остается прежним, когда я использую информацию udevadm на подключенном порту.
Есть предложения?