Tôi đang sử dụng RPI để tạo chương trình, nhưng tôi cần tắt các cổng USB để người dùng cuối không thể cắm bàn phím hoặc chuột và gây rối với thiết bị.
Điều này là có thể, và nếu vậy nó được thực hiện như thế nào?
Tôi đang sử dụng RPI để tạo chương trình, nhưng tôi cần tắt các cổng USB để người dùng cuối không thể cắm bàn phím hoặc chuột và gây rối với thiết bị.
Điều này là có thể, và nếu vậy nó được thực hiện như thế nào?
Câu trả lời:
Bạn có thể tìm thấy may mắn với lệnh này:
echo 0x0> / sys / thiết bị / nền tảng / bcm2708_usb / buspower
Điều này dường như vô hiệu hóa các cổng USB. Tôi đã không kiểm tra nó mặc dù.
Mỗi bộ điều khiển máy chủ USB trong Linux hiển thị một cài đặt được gọi authorized_default
, điều khiển trạng thái của bất kỳ thiết bị được kết nối mới nào. Đặt nó thành 0 làm cho tất cả các thiết bị mới bị tắt theo mặc định:
for host in /sys/bus/usb/devices/usb*; do echo 0 > $host/authorized_default; done
Một cách được khuyến nghị để chạy tập lệnh này bao gồm sử dụng udev
các quy tắc. Bằng cách này, bạn chắc chắn rằng tập lệnh chạy đúng lúc, khi trình điều khiển bộ điều khiển máy chủ đã được tải, nhưng không có thiết bị nào được cấp phép. Xem câu hỏi này cho một ví dụ về phương pháp này.
Một điều bạn nên hiểu là khóa phần mềm chỉ có hiệu lực miễn là người dùng cuối không thể rút thẻ SD và loại bỏ các biện pháp bảo vệ mà bạn đã đặt.
Tôi thực sự không biết rằng điều đó có thể trực tiếp ... Tại sao không chỉ chặn vật lý khả năng của người dùng để làm như vậy? Hoặc bằng cách đặt nó ở nơi họ không thể đến, điền vào các cổng hoặc bằng cách đặt một cơ chế khóa trên / xung quanh nó.
sudo sh -c "echo 0 > /sys/devices/platform/soc/3f980000.usb/buspower"
Sẽ vô hiệu hóa các cổng USB mà còn cả cổng LAN.
sudo sh -c "echo 1 > /sys/devices/platform/soc/3f980000.usb/buspower"
Đánh thức lại chúng.