udevでUSBデバイスが起動可能であることをどのように検出しますか?

udevでUSBデバイスが起動可能であることをどのように検出しますか?

システムに接続されているUSBデバイスが起動可能な場合にマウントされないようにudevルールを作成しようとしていますが、そのデバイスがルールから起動可能かどうかをudevで指定する方法がわかりません。それは可能ですか?それでは、私のルールには何を含めるべきですか?

明確に言えば、起動可能とは、デバイスに起動時に起動できるオペレーティングシステムがあることを意味します。

ベストアンサー1

udevMBRテーブルのパーティションエントリフラグを含む一部の環境変数をパーティションノード(リーフノード)に追加します。起動可能パーティションが必要ですID_PART_ENTRY_FLAGS=0x80

このルールを試してみると、すべての環境変数(源泉: udevスクリプトはATTR {idVendor}をパラメータとして渡します。):

KERNEL="sd[a-z][1-9]", RUN+="/bin/sh -c 'echo == >> /home/username/Desktop/usb-storage.txt; env >> /home/username/Desktop/usb-storage.txt'"

Ubuntu 14.04で私に合ったルールは次のとおりです。

ACTION=="add", KERNEL=="sd[a-z][1-9]", ENV{ID_PART_ENTRY_FLAGS}=="0x80", RUN+="/bin/sh -c 'echo 0 > /sys%p/../../../../../../../authorized'"

おすすめ記事