Vô hiệu hóa cổng USB


8

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?


1
Tôi nghĩ rằng đây là những gì bạn đang tìm kiếm: wpkg.org/Disable_/_enable_keyboard_and_mouse_in_Linux
Gerben

1
Siêu dán các cổng USB cũng hoạt động. Đó là những gì các ngân hàng thường làm. :-P
Gerben 15/07/13

Bạn sợ người dùng có thể làm gì?
Zurarouweiser

@Gerben liên kết của bạn giải thích vô hiệu hóa chuột / bàn phím trong Hệ thống X Window, không phải phần cứng chuột / bàn phím USB.
gurcanozturk

Bạn đang sử dụng X, hay chỉ là bàn điều khiển? Theo mặc định, bàn điều khiển được bảo vệ bằng mật khẩu. Bạn có thể giải thích thêm một chút về tình huống bạn muốn sử dụng nó cho?
Gerben

Câu trả lời:


4

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ù.


1
Các cổng usb vẫn sẽ khả dụng trong khi khởi động, vì vậy nếu người dùng có thể khởi động lại PI, giải pháp này sẽ không hoạt động.
pim

2

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 udevcá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.


1

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ó.


Bạn không biết môi trường mà thiết bị sẽ cư trú. Nó có thể được đặt ở vị trí mà bạn không kiểm soát được ai có quyền truy cập vào thiết bị, như trong giá AV ở một nơi nào đó ở một địa điểm xa. Bạn có thể khóa nó trong tủ, nhưng thường thì quản lý hoặc nhân viên tại chỗ vẫn sẽ có quyền truy cập vào các tủ đó. Việc đưa ra một khối ở cấp phần mềm sẽ dễ dàng hơn để ngăn cản mọi người chơi xung quanh.
ScottN

@ScottN: Chắc chắn, tôi đoán. Việc lấp đầy các cổng bằng epoxy sẽ giải quyết vấn đề đó, nhưng thực sự ... nếu ai đó có mức độ truy cập vật lý vào thiết bị đó, thì tất cả các cân nhắc về bảo mật khác sẽ ít nhiều xảy ra.
Jacobm001

Ồ, làm đầy các cổng bằng epoxy thực sự là giải pháp cuối cùng và quên rằng thiết bị có thể sử dụng được nếu nó được trả lại cho RMA hoặc một cái gì đó. Quan điểm chính của tôi là không khuyến khích ai đó chơi với nó như nhân viên móc bàn phím lên và khởi động YouTube và xem video khi thiết bị đó được cho là được sử dụng để làm bảng hiệu hoặc bất cứ điều gì.
ScottN

1
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.


0

sử dụng SELinux, tra cứu trực tuyến này và bạn sẽ có nhiều tài nguyên tuyệt vời. Nó được phát triển cho mục đích này. Sau đó, bạn có thể tắt / bật các cổng và các tính năng khác của hệ thống Linux.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.