lsusb
或dmesg | grep usb
命令。,2. 使用echo "0" > /sys/bus/usb/devices/[设备ID]/authorized
命令来禁用该设备。在Linux系统中,USB设备管理是一个常见的需求,关闭USB端口可以用于多种场景,例如防止未经授权的设备接入、节省系统资源等,本文将详细介绍如何在Linux中关闭USB端口,并提供相关的FAQs解答常见问题。
使用udev规则禁用USB端口
udev是Linux系统中的设备管理器,可以通过编写udev规则来禁用USB端口,创建一个新的udev规则文件:
sudo nano /etc/udev/rules.d/99-usb-block.rules
在该文件中添加以下内容:
禁用所有USB存储设备 ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{PRODUCT}=="*", RUN+="/bin/sh -c 'echo 0 > /sys/bus/usb/%k/power/control'" 禁用特定类型的USB设备(如鼠标和键盘) ACTION=="add", SUBSYSTEM=="input", ENV{ID_BUS}=="usb", RUN+="/bin/sh -c 'echo 0 > /sys/bus/usb/%k/power/control'"
保存并退出编辑器后,重新加载udev规则:
sudo udevadm control --reload-rules
这样,当有新的USB设备插入时,系统会自动禁用它们。
2. 使用rmmod命令移除USB核心模块
另一种方法是通过移除USB核心模块来禁用USB端口,执行以下命令:
sudo modprobe -r usb_storage
这将移除USB存储设备的驱动模块,从而禁用USB存储设备,要重新启用,只需加载模块:
sudo modprobe usb_storage
修改GRUB引导参数禁用USB
还可以通过修改GRUB引导参数来禁用USB端口,编辑GRUB配置文件:
sudo nano /etc/default/grub
找到GRUB_CMDLINE_LINUX_DEFAULT
行,并添加pci=noaer
参数:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=noaer"
保存并退出编辑器,然后更新GRUB配置:
sudo update-grub
重启系统后,USB端口将被禁用。
4. 使用lsusb和usb_modeswitch工具
有时需要检查当前连接的USB设备或切换USB设备模式,可以使用lsusb
和usb_modeswitch
工具,安装这些工具:
sudo apt-get install lsusb usb-modeswitch
列出所有连接的USB设备:
lsusb
切换USB设备模式(例如从大容量存储模式切换到调制解调器模式):
sudo usb_modeswitch -v <vendor_id> -p <product_id> -M "<target_mode>"
方法可以帮助你在Linux系统中有效地关闭USB端口,根据实际需求选择合适的方法,并确保在操作前备份重要数据以防止意外情况发生。
FAQs
Q1: 如何恢复被禁用的USB端口?
A1: 根据你使用的禁用方法,恢复步骤如下:
如果使用了udev规则,删除或注释掉相应的规则文件,然后重新加载udev规则。
如果使用了rmmod命令移除了模块,重新加载模块即可。
如果修改了GRUB引导参数,编辑GRUB配置文件并移除pci=noaer
参数,然后更新GRUB配置并重启系统。
Q2: 如何只禁用特定类型的USB设备?
A2: 可以在udev规则中使用更具体的匹配条件来禁用特定类型的USB设备,只禁用USB存储设备而不禁用鼠标和键盘:
ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{PRODUCT}=="*", RUN+="/sbin/sh -c 'echo 0 > /sys/bus/usb/%k/power/control'"
通过这种方式,你可以灵活地控制哪些USB设备被禁用。
各位小伙伴们,我刚刚为大家分享了有关“linux关闭usb”的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!