禁用USB端口


8

我正在使用RPI创建程序,但是我需要禁用USB端口,以便最终用户无法插入键盘或鼠标并弄乱设备。

这可能吗,如果可以,怎么做?


1
我认为这就是您要寻找的东西:wpkg.org/Disable
Gerben

1
超级粘合USB端口也可以。银行过去就是这样做的。:-P
Gerben

您担心用户会做什么?
Zurechtweiser

@Gerben您的链接解释了禁用X Window系统中的鼠标/键盘,而不是USB鼠标/键盘硬件。
gurcanozturk

您使用的是X,还是仅使用控制台?默认情况下,控制台受密码保护。您能否进一步说明您要使用它的情况?
Gerben

Answers:


4

您可以使用以下命令找到运气:

回声0x0> / sys / devices / platform / bcm2708_usb / buspower

这似乎禁用了USB端口。我还没有测试过。


1
USB端口在引导期间仍然可用,因此,如果用户可以重新引导PI,则此解决方案将无法使用。
pim

2

Linux中的每个USB主机控制器都有一个名为的设置authorized_default,该设置可控制所有新连接设备的状态。将其设置为0将默认禁用所有新设备:

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

建议的运行此脚本的方式包括使用udev规则。这样,您可以确定脚本已在正确的时间运行,此时主机控制器驱动程序已加载,但尚未授权任何设备。有关此方法的示例,请参见此问题

您应该了解的一件事是,只有在最终用户无法拔下SD卡并取消已设置的保护后,软件锁才有效。


1

我真的不知道这是直接可能的...为什么不仅仅在物理上阻止用户这样做的能力?通过将其放置在人们无法到达的地方,填充端口或在其上方/周围放置锁定机制。


您不知道设备所处的环境。设备可能位于对谁可以访问设备具有零控制权的位置,例如在数英里之外的远程AV机架中。您可以将其锁定在机柜中,但是通常现场管理人员或人员仍可以访问这些机柜。在软件级别进行限制以阻止人们玩耍比较容易。
ScottN

@ScottN:当然可以。用环氧树脂填充端口可以解决该问题,但实际上...如果某人对设备具有如此级别的物理访问权限,那么所有其他安全考虑都或多或少会引起争议。
Jacobm001

哦,用环氧树脂填充端口确实是不得已的办法,并且如果退回RMA之类的设备,请不要让该设备可用。我的主要目的是劝阻像使用人员那样的人玩游戏,后者会挂上键盘并启动YouTube,并在该设备被用来做标牌之类的东西时观看视频。
ScottN

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

将禁用USB端口,但同时禁用LAN端口。

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

使他们陶醉。


0

使用SELinux,在线进行查找,您将拥有许多资源。为此目的而开发的。然后,您可以禁用/启用Linux系统的端口和其他功能。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.