Debian(Linux)システムでUSBポートの権限を制限できますか?
いくつかの例:
- あらゆる種類の物質を防ぐ能力を抑制します。を除いてUSBキー?
- 承認読むUSBキーですが書かないで上?
- USBフラッシュドライブがシステムに挿入されたら、警告信号を送信しますか?
答え1
Linuxカーネルが新しいデバイスを検出すると、次のものを送信します。ウデブ。 udevの使命は、ユーザーが新しいデバイスにアクセスできるようにすることです。多くのデバイスでは、udevでやるべきことは/dev
デバイスをマウントするだけです。ブロックデバイスの場合、これによりデバイスをマウントできます。シリアルポートやサウンドポートなどの文字デバイスの場合は、特殊なアプリケーションでデバイスを使用できます。ネットワークインタフェースの場合は、udevで名前を設定できます。キーボードの場合、udevは追加のスキャンコードを定義することもできます。 udevがデバイスエントリを生成しないと、事実上デバイスは使用されなくなります。
Udevは次のように制御できます。ルール;デフォルトのルールはに存在し、/lib/udev/udev.d
管理者はにあるファイルを介してそれらを無視できます/etc/udev/udev.d
。各 udev ルールには、次の形式の条件があります。これらのルールがすべて満たされると、ルールが適用されます。デバイスに適用される条件を実行または表示できます。VARIABLE==VALUE
udevadm info -a -n /dev/…
udevadm info -a /sys/…
私が知る限り、デバイスを無視する一般的なメカニズムはありません。ネットワークインターフェイスでない場合(その下のデバイスノードを使用しない/dev
)、権限を付与しないと効果的に使用できなくなります。
状況、モード="000"
USBデバイスに承認メカニズム:このauthorized
プロパティを0(false)に設定すると、システムはデバイスにアクセスしません。この規則によれば、USBストレージ以外のUSBデバイスは使用できません。
ACTION=="add", SUSYSTEMS=="usb", DRIVERS!="usb-storage", ATTR{authorized}="0"
いいね起動シーケンス後のUSBデバイスの無効化次のコードスニペットを使用して、すべてのUSBホストポートを無効にします/etc/rc.local
。
for x in /sys/bus/usb/devices/usb*; do
echo 0 >"$x/authorized_default"
done
authorized
プロパティを1に設定すると、udevルールを介して(または手動で)個々のデバイスを有効にできます。
ストレージデバイスを読み取り専用にするには、そのro
属性を 1 に設定します。
コマンドを実行するには、RUN
udevルールのキーを使用します(コマンドへのフルパスが必要です。詳細については、手動使用可能なエスケープシーケンスと環境変数を取得するには)コマンドを使用してGUIにアクセスするには、以下を参照してください。
リモートXモニターでウィンドウを開く(「モニターを開けません」理由)?
答え2
いくつかのudevルールを設定する必要があります。
要件を満たすための手順:
- 許可されたデバイスをホワイトリストに追加します。
- 制限された権利/所有権を他のすべての人に適用する
- ルールファイルを挿入して設定スクリプトを起動することもできます。
関連スレッドは次のとおりです。https://askubuntu.com/questions/15570/configure-udev-to-change-permissions-on-usb-hid-device
説明し、追加の指示を提供するのに役立ちます。詰まったら、質問に次の障害物を追加してください。