在不禁用 BIOS 中的任何内容的情况下,我想禁用并阻止操作系统加载任何驱动程序或注册笔记本电脑的智能卡接触接口。
/etc/modprobe.d/blacklist
我了解,这可以通过以下方式将智能卡驱动程序添加到黑名单文件来实现:
blacklist driver-name
我如何检测下面的 BROADCOM 设备的“驱动程序名称”?
$ opensc-tool -l -r 0
# Detected readers (pcsc)
Nr. Card Features Name
0 Yes Yubico Yubikey NEO OTP+CCID 00 00
1 No Broadcom Corp 5880 [Contacted SmartCard]
(0123456789ABCD) 01 00
答案1
没用,你不能用这种方式阻止它,因为它没有内核空间驱动程序(模块)。如你所见
UNCLAIMED
。我在 Dell Latitude E6410 中也有同样的设备。lsusb -d 0a5c:5800
Bus 002 Device 005: ID 0a5c:5800 Broadcom Corp. BCM5880 Secure Applications Processor
sudo lsusb -t
(参见总线 2 设备 5,取自上面的输出)/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M |__ Port 1: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 8: Dev 5, If 0, Class=Application Specific Interface, Driver=, 12M |__ Port 8: Dev 5, If 1, Class=Chip/SmartCard, Driver=, 12M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
sudo lshw
*-usb:1 UNCLAIMED description: Generic USB device product: 5880 vendor: Broadcom Corp physical id: 8 bus info: usb@2:1.8 version: 1.01 serial: 0123456789ABCD capabilities: usb-1.10 configuration: maxpower=100mA speed=12Mbit/s
它使用用户空间驱动程序就像
libccid
通过那样进行通信一样libusb
,阻止它的唯一方法是停止任何使用它的工具,例如pcscd
,pam
也可以为它提供一个模块。
答案2
您可以尝试这个,并在终端中输入:
modprobe -c lspci | lspci usb
这样也许能很好地发挥作用。