USBデバイスをホワイトリストに追加する予定です。最初はすべてが拒否され、一部はホワイトリストに追加されます。
UDEVでこれらのルールを書いたがうまくいかないようです。ただすべてを否定するのです。ルールは次のとおりです。
すべて拒否:
ACTION=="add", SUBSYSTEMS=="usb", RUN+="/bin/sh -c 'for host in /sys/bus/usb/devices/usb*; do echo 0 > $host/authorized_default; done'"
SanDisk Pendriveを許可:
ACTION=="add", SUBSYSTEMS=="usb",ATTR{manufacturer}=="SanDisk", RUN+="/bin/sh -c 'echo 1 >/sys$DEVPATH/authorized'"
どんな助けでも大変感謝します。
ベストアンサー1
最初のルールは親ノード(USBハブ、USBポート... USBデバイス)を拒否します。 sysfsはツリーであることを忘れないでください。
リーフ(USBデバイス)を対象とする必要があります。
GOTO
複数のルールを使用して管理する代わりに、単一のルールを使用できます。
以下を確認してください(現在のコンピュータのデバイス名の例:)2-1.2:1.0
。
ACTION=="add", KERNEL=="[0-9]-[0-9].[0-9]:[0-9].[0-9]", SUBSYSTEMS=="usb", ATTR{manufacturer}!="SanDisk", RUN+="/bin/sh -c 'echo 0 >/sys$DEVPATH/authorized'"