我想在 ubuntu 16.04 及更高版本中使用 udev 规则阻止除 USB 键盘和 USB 鼠标之外的所有 USB 设备。?

我想在 ubuntu 16.04 及更高版本中使用 udev 规则阻止除 USB 键盘和 USB 鼠标之外的所有 USB 设备。?

我想使用 udev 规则阻止除 USB 键盘和 USB 鼠标之外的所有 USB 设备?目的是限制用户连接外部存储设备(闪存驱动器、手机内部存储和 iOS 设备存储)。

限制用户从 16.04 及以上版本的 Ubuntu 机器传输数据到这些设备。

限制 mtp 移动传输协议以及限制照片传输。

在终端中使用 sudo 权限登录机器。

# Sudo –i 
List the usb ports:
#lsmod |grep usb 
Edit the blacklist.conf file
# Sudo vi /etc/modeprobe.d/blacklist.conf 
blacklist usb_storge
blacklist uas
blacklist usbhid
#Sudo vi /etc/rc.local/ 
modprobe -r usb_storage 
modprobe -r uas
modprob usbhid

保存 重启机器。但移动存储设法将存储连接到机器。
所以现在尝试 udev 规则,我已尝试遵循所有端口(usb/1-3、usb1/1-3..)但它也阻止了 kb 鼠标

#echo 0 > / sys/bus/usb/devices/1-3/authorized 

我尝试过的其他选项:

/etc/udev/rules.d/01-usblockdown.rules
The contents of the script are as follows:
#Script by Adrian Crenshaw
#With info from Michael Miller, Inaky Perez-Gonzalez and VMWare

#By default, disable it.
#ACTION=="add", SUBSYSTEMS=="usb", RUN+="/bin/sh -c 'echo 0 >/sys$DEVPATH/authorized'"<br>
ACTION=="add", SUBSYSTEMS=="usb", RUN+="/bin/sh -c 'for host in /sys/bus/usb/devices/usb*; do echo 0 > $host/authorized_default; done'"

#Enable hub devices. There may be a better way than this.
ACTION=="add", ATTR{bDeviceClass}=="09", RUN+="/bin/sh -c 'echo 1 >/sys$DEVPATH/authorized'"

#Other things to enable
ACTION=="add", ATTR{idVendor}=="046d", ATTR{idProduct}=="0809", RUN+="/bin/sh -c 'echo 1 >/sys$DEVPATH/authorized'"
ACTION=="add", ATTR{serial}=="078606B90DD3", RUN+="/bin/sh -c 'echo 1 >/sys$DEVPATH/authorized'"
ACTION=="add", ATTR{product}=="802.11 n WLAN", RUN+="/bin/sh -c 'echo 1 >/sys$DEVPATH/authorized'"
#ACTION=="add", ATTR{idVendor}=="413c", ATTR{idProduct}=="2106", RUN+="/bin/sh -c 'echo 1 >/sys$DEVPATH/authorized'"

它还会阻止 USB 键盘和鼠标。

答案1

只是提示:

  • /etc/modeprobe.d/blacklist.conf .. blacklist不适用于所有类型的驱动程序。有些不是外部模块,因此需要传递特殊参数 /etc/default/grub .. GRUB_CMDLINE_LINUX_DEFAULT
  • usbhid是键盘、鼠标和操纵杆的核心 USB HID(人机接口设备)驱动程序。最好放弃它,这样你仍然可以访问机器。最好准备 OpenSSH 登录以防万一。
  • 检查lsusb -t是否udevadm info -a ...仅连接了鼠标/键盘。收集所有活动 USB 驱动程序的列表。我期望获得:USB1/2/3 集线器、鼠标、键盘、SD 卡读卡器、蓝牙。
  • 制定与以下规则类似的规则:这个帖子为了解除司机绑定,可能只允许 USB 集线器和 USB HID 驱动器。

如果您遇到阻碍,请使用收集到的信息更新问题,并通过评论告知我。

答案2

尝试这个

ctrl+ alt+t

类型 :sudo nautilus n /usr/lib/gvfs/

enter

输入您的密码

将打开一个页面,选中该页面并gvfsd-mtp单击鼠标右键

取消选中(允许将文件作为程序执行)

关闭它并在终端类型中init 6按回车键

系统将重新启动,现在检查

相关内容