为了保护对机器有实际访问权限的用户对服务器的敏感数据提取,最好禁用Linux内核中的所有USB存储支持。
为了禁用USB存储支持,我们首先需要确定存储驱动程序是否被加载到Linux内核中,以及负责存储驱动程序的驱动程序( 模块 )的名称。
运行lsmod命令 ,列出所有加载的内核驱动程序,并通过grep命令用搜索字符串“ usb_storage ”过滤输出。
# lsmod | grep usb_storage
列出USB存储驱动程序
从lsmod命令可以看出, UAS模块正在使用sub_storage模块。 接下来,从内核卸载两个USB存储模块,并通过执行以下命令来验证删除是否已成功完成。
# modprobe -r usb_storage # modprobe -r uas # lsmod | grep usb
接下来,通过发出以下命令列出当前运行时内核usb存储模块目录的内容,并确定usb-storage驱动程序名称。 通常这个模块应该被命名为usb-storage.ko.xz或者usb-storage.ko 。
# ls /lib/modules/`uname -r`/kernel/drivers/usb/storage/
为了阻止USB存储模块加载到内核中,将目录切换到内核USB存储模块路径,并通过执行以下命令将usb-storage.ko.xz模块重命名为usb-storage.ko.xz.blacklist 。
# cd /lib/modules/`uname -r`/kernel/drivers/usb/storage/ # ls # mv usb-storage.ko.xz usb-storage.ko.xz.blacklist
在Linux中阻止USB存储
在基于Debian的Linux发行版中,发出以下命令阻止USB存储模块加载到Linux内核中。
# cd /lib/modules/`uname -r`/kernel/drivers/usb/storage/ # ls # mv usb-storage.ko usb-storage.ko.blacklist
在Debian和Ubuntu中阻止USB
现在,无论何时插入USB存储设备,内核都将无法加载存储设备驱动程序的内核。 要恢复更改,只需将黑名单重新命名为旧名称。
# cd /lib/modules/`uname -r`/kernel/drivers/usb/storage/ # mv usb-storage.ko.xz.blacklist usb-storage.ko.xz
但是,此方法仅适用于运行时内核模块。 如果要将USB存储器模块列入黑名单,请输入每个内核模块目录版本路径,并将usb-storage.ko.xz重命名为usb-storage.ko.xz.blacklist 。