11.6. 为 USB 设备创建结构化自定义策略


您可以在 /etc/usbguard/rules.d/ 目录中的多个 .conf 文件中组织自定义 USBGuard 策略。然后 usbguard-daemon 将主 rules.conf 文件与目录中的 .conf 文件按字母顺序组合在一起。

先决条件

  • usbguard 服务已安装并运行。

流程

  1. 创建一个授权当前连接的 USB 设备的策略,并将生成的规则保存到一个新的 .conf 文件中,例如 < policy.conf>

    # usbguard generate-policy --no-hashes > ./<policy.conf>
    Copy to Clipboard Toggle word wrap

    --no-hashes 选项不会为设备生成哈希属性。在配置设置中避免哈希属性,因为它们可能不是永久的。

  2. 使用您选择的文本编辑器打开 < policy.conf > 文件,并使用您要记录的规则选择行,例如:

    ...
    allow id 04f2:0833 serial "" name "USB Keyboard" via-port "7-2" with-interface { 03:01:01 03:00:00 } with-connect-type "unknown"
    ...
    Copy to Clipboard Toggle word wrap
  3. 将所选行复制到单独的 .conf 文件中。

    注意

    文件名开头的两位数字指定守护进程读取配置文件的顺序。

    例如,要将键盘的规则复制到一个新的 .conf 文件中:

    # grep "USB Keyboard" ./<policy.conf> > ./<10keyboards.conf>
    Copy to Clipboard Toggle word wrap
  4. 将新策略安装到 /etc/usbguard/rules.d/ 目录中。

    # install -m 0600 -o root -g root <10keyboards.conf> /etc/usbguard/rules.d/<10keyboards.conf>
    Copy to Clipboard Toggle word wrap
  5. 将其余行移到主 rules.conf 文件中。

    # grep -v "USB Keyboard" ./policy.conf > ./rules.conf
    Copy to Clipboard Toggle word wrap
  6. 安装其余的规则。

    # install -m 0600 -o root -g root rules.conf /etc/usbguard/rules.conf
    Copy to Clipboard Toggle word wrap
  7. 重新启动 usbguard 守护进程,以应用您的更改。

    # systemctl restart usbguard
    Copy to Clipboard Toggle word wrap

验证

  1. 显示所有活动的 USBGuard 规则。

    # usbguard list-rules
    ...
    15: allow id 04f2:0833 serial "" name "USB Keyboard" hash "kxM/iddRe/WSCocgiuQlVs6Dn0VEza7KiHoDeTz0fyg=" parent-hash "2i6ZBJfTl5BakXF7Gba84/Cp1gslnNc1DM6vWQpie3s=" via-port "7-2" with-interface { 03:01:01 03:00:00 } with-connect-type "unknown"
    ...
    Copy to Clipboard Toggle word wrap
  2. 显示 /etc/usbguard/rules.d/ 目录中的 rules.conf 文件以及所有.conf 文件的内容。

    # cat /etc/usbguard/rules.conf /etc/usbguard/rules.d/*.conf
    Copy to Clipboard Toggle word wrap
  3. 验证活动的规则是否包含文件中的所有规则,并且顺序正确。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat