Menonaktifkan port USB

8

Saya menggunakan RPI untuk membuat program, tetapi saya harus menonaktifkan port USB agar pengguna akhir tidak dapat menyambungkan keyboard atau mouse dan mengacaukan perangkat.

Apakah ini mungkin, dan jika demikian, bagaimana caranya?

fypfyp
sumber
1
Saya pikir inilah yang Anda cari: wpkg.org/Disable_/_enable_keyboard_and_mouse_in_Linux
Gerben
1
Super-gluing port USB juga berfungsi. Itu yang biasa dilakukan bank. :-P
Gerben
Apa yang Anda takutkan dari yang bisa dilakukan pengguna?
Zurechtweiser
@Gerben tautan Anda yang menjelaskan nonaktifkan mouse / keyboard di Sistem X Window, bukan perangkat keras mouse / keyboard USB.
gurcanozturk
Apakah Anda menggunakan X, atau hanya konsol? Secara default konsol dilindungi kata sandi. Bisakah Anda menjelaskan sedikit tentang situasi yang Anda inginkan?
Gerben

Jawaban:

4

Anda mungkin menemukan keberuntungan dengan perintah ini:

gema 0x0> / sys / devices / platform / bcm2708_usb / buspower

Ini tampaknya menonaktifkan port USB. Saya belum mengujinya.

terhubung
sumber
1
Port usb akan tetap tersedia saat boot, jadi jika pengguna dapat mem-boot ulang PI, solusi ini tidak akan berfungsi.
pim
2

Setiap pengontrol host USB di Linux memperlihatkan pengaturan yang disebut authorized_default, yang mengontrol keadaan setiap perangkat yang terhubung baru. Mengaturnya ke 0 membuat semua perangkat baru dinonaktifkan secara default:

for host in /sys/bus/usb/devices/usb*; do echo 0 > $host/authorized_default; done

Cara yang disarankan untuk menjalankan skrip ini terdiri dari penggunaan udevaturan. Dengan cara ini, Anda yakin skrip berjalan pada waktu yang tepat, ketika driver pengontrol host sudah dimuat, tetapi belum ada perangkat yang diotorisasi. Lihat pertanyaan ini untuk contoh pendekatan ini.

Satu hal yang harus Anda pahami adalah bahwa kunci perangkat lunak hanya efektif selama pengguna akhir tidak dapat mencabut kartu SD dan menghapus perlindungan yang telah Anda tempatkan.

Dmitry Grigoryev
sumber
1

Saya tidak benar-benar tahu bahwa itu mungkin secara langsung ... Mengapa tidak secara fisik memblokir kemampuan pengguna untuk melakukannya? Entah dengan meletakkannya di tempat yang tidak bisa dijangkau, mengisi porta atau dengan meletakkan mekanisme penguncian di atasnya.

Jacobm001
sumber
Anda tidak tahu lingkungan tempat perangkat itu akan berada. Perangkat itu bisa berada di lokasi yang Anda tidak memiliki kendali atas siapa yang dapat mengaksesnya, seperti di rak AV di suatu tempat di lokasi terpencil yang jauhnya. Anda bisa menguncinya di kabinet, tetapi biasanya manajemen atau personel di tempat masih memiliki akses ke lemari itu. Lebih mudah untuk memberi blok pada tingkat perangkat lunak untuk mencegah orang bermain-main.
ScottN
@ScottN: Tentu, saya kira. Mengisi port dengan epoksi akan menyelesaikan masalah itu, tapi sungguh ... jika seseorang memiliki tingkat akses fisik ke perangkat, semua pertimbangan keamanan lainnya kurang lebih masih bisa diperdebatkan.
Jacobm001
Oh, mengisi porta dengan epoxy benar-benar merupakan pilihan terakhir dan lupa memiliki perangkat yang dapat digunakan jika itu dikembalikan untuk RMA atau sesuatu. Poin utama saya adalah untuk mencegah seseorang bermain dengan itu seperti staf yang menghubungkan keyboard dan memulai YouTube dan menonton video ketika perangkat itu seharusnya digunakan untuk membuat signage atau apa pun.
ScottN
1
sudo sh -c "echo 0 > /sys/devices/platform/soc/3f980000.usb/buspower"

Akan menonaktifkan port USB tetapi juga port LAN.

sudo sh -c "echo 1 > /sys/devices/platform/soc/3f980000.usb/buspower"

Buat ulang mereka.

Lennart Hennigs
sumber
0

gunakan SELinux, cari online ini dan Anda akan memiliki banyak sumber daya yang besar. Ini dikembangkan untuk tujuan ini. Anda kemudian dapat menonaktifkan / mengaktifkan port dan fitur lain dari sistem Linux Anda.

donitel
sumber