网站目录,wordpress手机网站模版,泰州网站开发,做网站排名工具原文链接#xff1a;【信创】Linux终端禁用USB存储 | 统信 | 麒麟 | 方德 Hello#xff0c;大家好啊#xff01;今天给大家带来一篇关于在Linux终端下禁用USB存储设备的文章。禁用USB存储设备可以提高系统的安全性#xff0c;防止未经授权的人员将数据拷贝到外部存储设备或…原文链接【信创】Linux终端禁用USB存储 | 统信 | 麒麟 | 方德 Hello大家好啊今天给大家带来一篇关于在Linux终端下禁用USB存储设备的文章。禁用USB存储设备可以提高系统的安全性防止未经授权的人员将数据拷贝到外部存储设备或从USB设备导入恶意软件。本文将介绍如何通过修改系统配置禁用USB存储确保系统的安全。欢迎大家分享转发点个关注和在看吧关注公众号回复“USB”获取文章脚本。
禁用USB存储的几种方法
在Linux系统中可以通过多种方法禁用USB存储设备。以下几种方法可以根据不同的需求选择使用
通过modprobe禁用USB存储模块。
通过udev规则阻止USB存储设备的挂载。
通过设置blacklist禁用USB存储驱动程序。
1.查看系统信息
pdsywpdsyw1024:~/Desktop$ cat /etc/os-release
NAMEKylin
VERSION银河麒麟桌面操作系统V10 (SP1)
VERSION_USKylin Linux Desktop V10 (SP1)
IDkylin
ID_LIKEdebian
PRETTY_NAMEKylin V10 SP1
VERSION_IDv10
HOME_URLhttp://www.kylinos.cn/
SUPPORT_URLhttp://www.kylinos.cn/support/technology.html
BUG_REPORT_URLhttp://www.kylinos.cn/
PRIVACY_POLICY_URLhttp://www.kylinos.cn
VERSION_CODENAMEkylin
UBUNTU_CODENAMEkylin
PROJECT_CODENAMEV10SP1
KYLIN_RELEASE_ID2303
pdsywpdsyw1024:~/Desktop$ uname -a
Linux pdsyw1024 4.19.71-42-kr990 #39-KYLINOS SMP PREEMPT Wed Jun 5 10:46:59 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux
pdsywpdsyw1024:~/Desktop$ 2.查看CPU信息
pdsywpdsyw1024:~/Desktop$ lscpu
架构 aarch64
CPU 运行模式 32-bit, 64-bit
字节序 Little Endian
CPU: 8
在线 CPU 列表 0-7
每个核的线程数 1
每个座的核数 2
座 3
厂商 ID ARM
型号 0
型号名称 HUAWEI Kirin 990
步进 r1p0
CPU 最大 MHz 2861.0000
CPU 最小 MHz 554.0000
标记 fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhpcpuid asimdrdm lrcpc dcpop asimddp
pdsywpdsyw1024:~/Desktop$ 3.编写USB存储移除脚本
pdsywpdsyw1024:~/Desktop$ vim setup-usb-autoremove.sh
pdsywpdsyw1024:~/Desktop$
pdsywpdsyw1024:~/Desktop$ cat setup-usb-autoremove.sh
#!/bin/bash
# Step 1: 创建自动移除的脚本
cat EOF | sudo tee /usr/local/bin/remove-usb.sh /dev/null
#!/bin/bash
# 提取传递的设备节点
device_path/sys$DEVPATH
# 查找设备并解除绑定
if [ -e $device_path/driver/unbind ]; thenbasename $device_path | tee $device_path/driver/unbind
fi
EOF
# 赋予脚本可执行权限
sudo chmod x /usr/local/bin/remove-usb.sh
# Step 2: 创建 udev 规则
cat EOF | sudo tee /etc/udev/rules.d/99-usb-autoremove.rules /dev/null
ACTIONadd, SUBSYSTEMSusb, ATTR{bInterfaceClass}08, RUN/usr/local/bin/remove-usb.sh
EOF
# Step 3: 重载 udev 规则
udevadm control --reload-rules
pdsywpdsyw1024:~/Desktop$这个脚本的目的是自动设置一个机制当插入 USB 存储设备时系统会立即检测并自动移除该设备。脚本通过创建一个自动移除脚本、配置 udev 规则以及重载规则来实现这个功能。以下是脚本的详细解释
# Step 1: 创建自动移除的脚本
cat EOF | sudo tee /usr/local/bin/remove-usb.sh /dev/null
#!/bin/bash
# 提取传递的设备节点
device_path/sys$DEVPATH
# 查找设备并解除绑定
if [ -e $device_path/driver/unbind ]; thenbasename $device_path | tee $device_path/driver/unbind
fi
EOF这部分代码会在系统的 /usr/local/bin/ 目录下创建一个名为 remove-usb.sh 的脚本。
脚本中使用 D E V P A T H 环境变量它会由 u d e v 在 U S B 设备插入时自动传递。 DEVPATH 环境变量它会由 udev 在 USB 设备插入时自动传递。 DEVPATH环境变量它会由udev在USB设备插入时自动传递。DEVPATH 是设备路径。
该脚本会查找对应 USB 存储设备的路径并解除绑定也就是从系统中移除设备。通过 basename $device_path | tee $device_path/driver/unbind 来执行这个过程basename 提取设备名tee 将设备名写入到 unbind 文件以解除绑定。
sudo chmod x /usr/local/bin/remove-usb.sh 这部分代码将给刚刚创建的 remove-usb.sh 脚本赋予可执行权限使其能够被 udev 调用并执行。
# Step 2: 创建 udev 规则
cat EOF | sudo tee /etc/udev/rules.d/99-usb-autoremove.rules /dev/null
ACTIONadd, SUBSYSTEMSusb, ATTR{bInterfaceClass}08, RUN/usr/local/bin/remove-usb.sh
EOF这里会创建一个 udev 规则文件 /etc/udev/rules.d/99-usb-autoremove.rules。
udev 是 Linux 下的设备管理器它可以检测到设备的插入/移除并执行相应的操作。
ACTION“add” 表示规则会在检测到设备插入时触发。
SUBSYSTEMS“usb” 限定该规则只应用于 USB 设备。
ATTR{bInterfaceClass}“08” 限定规则只匹配 USB 存储设备大容量存储类设备bInterfaceClass 为 08 对应的是大容量存储设备。
RUN“/usr/local/bin/remove-usb.sh” 表示当插入符合条件的设备时执行前面创建的 remove-usb.sh 脚本。
# Step 3: 重载 udev 规则
sudo udevadm control --reload-rules这段代码会重载 udev 规则使新添加的规则立即生效。
udevadm control --reload-rules 是 udev 的管理命令它会重新读取所有的规则文件以确保新添加的规则在设备插入时生效。 4.编写USB存储恢复识别脚本
pdsywpdsyw1024:~/Desktop$ vim setup-usb-autoadd.sh
pdsywpdsyw1024:~/Desktop$
pdsywpdsyw1024:~/Desktop$ cat setup-usb-autoadd.sh
#!/bin/bash
# Step 1: 移除脚本
rm -rf /usr/local/bin/remove-usb.sh
# Step 2: 移除 udev 规则
rm -rf /etc/udev/rules.d/99-usb-autoremove.rules
# Step 3: 重载 udev 规则
udevadm control --reload-rules
pdsywpdsyw1024:~/Desktop$ 这个脚本的作用是清理之前设置的自动移除 USB 设备的机制具体解释如下
# Step 1: 移除脚本
rm -rf /usr/local/bin/remove-usb.sh这部分代码使用 rm -rf 命令删除 /usr/local/bin/ 目录下的 remove-usb.sh 脚本。
remove-usb.sh 是之前创建的用于移除 USB 存储设备的脚本。通过删除它系统将不再执行该脚本来移除 USB 设备。
# Step 2: 移除 udev 规则
rm -rf /etc/udev/rules.d/99-usb-autoremove.rules这部分代码删除 /etc/udev/rules.d/ 目录下的 99-usb-autoremove.rules 文件。
这个文件是之前创建的 udev 规则文件它规定了当插入 USB 存储设备时系统会执行 remove-usb.sh 脚本。删除该文件后udev 将不再针对 USB 设备执行移除操作。
# Step 3: 重载 udev 规则
udevadm control --reload-rules这部分代码使用 udevadm control --reload-rules 命令重载 udev 规则。
这是为了确保删除的 99-usb-autoremove.rules 文件立即生效。如果不重载规则系统可能仍然会按照旧的规则工作直到重启或手动重载规则。 5.测试USB存储移除脚本
pdsywpdsyw1024:~/Desktop$ sudo bash setup-usb-autoremove.sh
输入密码
pdsywpdsyw1024:~/Desktop$6.插入U盘不识别 7.测试USB存储恢复识别脚本
pdsywpdsyw1024:~/Desktop$ sudo bash setup-usb-autoadd.sh8.插入USB识别 通过本文的介绍您已经了解了如何在Linux终端下禁用USB存储设备。通过禁用USB存储模块或配置udev规则可以有效地防止未经授权的USB存储设备接入系统提升系统的安全性。如果您觉得这篇文章有用请分享和转发同时别忘了点个关注和在看以便未来获取更多实用的技术信息和教程。感谢大家的阅读我们下次再见