Udev経由でUSBをホワイトリストに登録

Udev経由でUSBをホワイトリストに登録

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'"

おすすめ記事