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?
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:
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.
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.
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"
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.
Jawaban:
Anda mungkin menemukan keberuntungan dengan perintah ini:
gema 0x0> / sys / devices / platform / bcm2708_usb / buspower
Ini tampaknya menonaktifkan port USB. Saya belum mengujinya.
sumber
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:Cara yang disarankan untuk menjalankan skrip ini terdiri dari penggunaan
udev
aturan. 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.
sumber
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.
sumber
Akan menonaktifkan port USB tetapi juga port LAN.
Buat ulang mereka.
sumber
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.
sumber