Armadilloフォーラム

USBキーボードの無効化

tom.taka

2023年1月24日 12時57分

お世話になります.
G3LのUSBにキーボードが挿されても入力できないように無効化する方法について教えてください.
USBキーボードを挿して,CTRL+ALT+DELETEで再起動するのを防止したいと考えています.
よろしくお願いいたします.

コメント

at_mizo

2023年1月24日 13時26分

溝渕です。

> G3LのUSBにキーボードが挿されても入力できないように無効化する方法について教えてください.
> USBキーボードを挿して,CTRL+ALT+DELETEで再起動するのを防止したいと考えています.

次のようにコマンドを実行してみてください。

[armadillo]# systemctl mask ctrl-alt-del.target

tom.taka

2023年1月24日 13時54分

> 溝渕です。
>
> > G3LのUSBにキーボードが挿されても入力できないように無効化する方法について教えてください.
> > USBキーボードを挿して,CTRL+ALT+DELETEで再起動するのを防止したいと考えています.
>
> 次のようにコマンドを実行してみてください。
>
>

> [armadillo]# systemctl mask ctrl-alt-del.target
> 

早速ご回答頂き,ありがとうございます.
CTRL+ALT+DELETEを連打したときには再起動したので,頂いた情報から検索して,以下のサイトを参考にsystem.confにCtrlAltDelBurstAction=none
を設定して回避することができました.

改めてのお願いですが,キーボード自身を認識させない(無効にする)方法を教えて頂けないでしょうか?
よろしくお願いいたします.

tom.taka

2023年1月24日 13時55分

> > 溝渕です。
> >
> > > G3LのUSBにキーボードが挿されても入力できないように無効化する方法について教えてください.
> > > USBキーボードを挿して,CTRL+ALT+DELETEで再起動するのを防止したいと考えています.
> >
> > 次のようにコマンドを実行してみてください。
> >
> >

> > [armadillo]# systemctl mask ctrl-alt-del.target
> > 

>
> 早速ご回答頂き,ありがとうございます.
> CTRL+ALT+DELETEを連打したときには再起動したので,頂いた情報から検索して,以下のサイトを参考にsystem.confにCtrlAltDelBurstAction=none
> を設定して回避することができました.
>
> 改めてのお願いですが,キーボード自身を認識させない(無効にする)方法を教えて頂けないでしょうか?
> よろしくお願いいたします.

サイトはこちらを参考にしました.
https://www7390uo.sakura.ne.jp/wordpress/archives/1284

at_mizo

2023年1月24日 14時06分

溝渕です。

> > 改めてのお願いですが,キーボード自身を認識させない(無効にする)方法を教えて頂けないでしょうか?

/sys/bus/usb/drivers/usb/unbind

に、USBキーボードのバス&ポート番号を書き込めば無効にできると思います。

at_mizo

2023年1月24日 14時23分

溝渕です。

ちなみに、Linuxカーネルをリビルドする(USBHIDのドライバを外す)ことで、恒久的にキーボードを使えなくすることもできます。

どちらを選択するかはユースケースによるのですが、キーボードは一時的に利用不可にしたいですか? 恒久的に利用不可にしたいですか?

tom.taka

2023年1月24日 14時37分

> 溝渕です。
>
> ちなみに、Linuxカーネルをリビルドする(USBHIDのドライバを外す)ことで、恒久的にキーボードを使えなくすることもできます。
>
> どちらを選択するかはユースケースによるのですが、キーボードは一時的に利用不可にしたいですか? 恒久的に利用不可にしたいですか?
>
すみません,入れ違いになってしましました.
恒久的に利用不可にしたいです.
この場合,カーネルのUSBHIDドライバを外すしかないですよね?

at_mizo

2023年1月24日 14時42分

溝渕です。

> 恒久的に利用不可にしたいです.
> この場合,カーネルのUSBHIDドライバを外すしかないですよね?

unbindする方法でも、addのuevent発生時に実行すれば実質的に利用できないので問題無いかと思います。

ただbindできてしまうので、これが問題になるのであればドライバを外した方が良いと思います。

このあたりの設計に関してはユースケース次第なので、どのような挙動を求めているかを教えていただけるとアドバイスしやすいです。

tom.taka

2023年1月24日 15時53分

> 溝渕です。
>
> > 恒久的に利用不可にしたいです.
> > この場合,カーネルのUSBHIDドライバを外すしかないですよね?
>
> unbindする方法でも、addのuevent発生時に実行すれば実質的に利用できないので問題無いかと思います。
>
> ただbindできてしまうので、これが問題になるのであればドライバを外した方が良いと思います。
>
> このあたりの設計に関してはユースケース次第なので、どのような挙動を求めているかを教えていただけるとアドバイスしやすいです。
>
溝渕様,
本件の質問の発端は,明確なユースケースがあるわけではなく,セキュリティ対策になります.
(最終製品化前のテストで指摘を受けて対策検討中です).
GUIがあるわけではないので,CTRL+ALT+DELETEによるサービス妨害以外に何かリスクがあれば,USBHIDを外してもいいのですが,開発部門としては,遠隔からのアップデートも考えているので,そのたびにカーネル再構築は避けたいと考えています.
もう少し内部で検討して方向性を決めたいと思います.

短時間でのサポート大変助かりました.有難うございます.

tom.taka

2023年1月24日 14時33分

> 溝渕です。
>
> > > 改めてのお願いですが,キーボード自身を認識させない(無効にする)方法を教えて頂けないでしょうか?
>
> /sys/bus/usb/drivers/usb/unbind
>
> に、USBキーボードのバス&ポート番号を書き込めば無効にできると思います。
>
溝渕様,
ご返信ありがとうございます.unbindへのバス&ポート番号書き込みで,ソフト的に取り外しされたことを確認できました.
G3L起動後運用中に,USBキーボードを挿されても接続されないように無効化したいのですが,その場合udevのruleに,キーボードのaddイベントに対して,/sys/bus/usb/drivers/usb/unbindにUSBキーボードのバス&ポート番号を書き込むシェルを書くイメージで合っていますか?
他にいい方法あればご教示願います.

at_mizo

2023年1月24日 14時39分

溝渕です。

> ご返信ありがとうございます.unbindへのバス&ポート番号書き込みで,ソフト的に取り外しされたことを確認できました.

確認ありがとうございます。

> G3L起動後運用中に,USBキーボードを挿されても接続されないように無効化したいのですが,その場合udevのruleに,キーボードのaddイベントに対して,/sys/bus/usb/drivers/usb/unbindにUSBキーボードのバス&ポート番号を書き込むシェルを書くイメージで合っていますか?

USBキーボードを(一時的に)利用する可能性があるのであれば上記対応で良いかと思います。

> 他にいい方法あればご教示願います.

恒久的に利用しないのであれば、ドライバを無効化してしまっても良いと思います。