Red Hat Training

A Red Hat training course is available for RHEL 8

14.4. 永久阻止和授权 USB 设备

您可以使用 -p 选项永久阻止和授权一个 USB 设备。这会在当前策略中添加一条特定于设备的规则。

先决条件

  • usbguard 服务已安装并运行。

流程

  1. 配置 SELinux,以允许 usbguard 守护进程编写规则。

    1. 显示与 usbguard 相关的 semanage 布尔值。

      # semanage boolean -l | grep usbguard
      usbguard_daemon_write_conf     (off  ,  off)  Allow usbguard to daemon write conf
      usbguard_daemon_write_rules    (on   ,   on)  Allow usbguard to daemon write rules
    2. 可选:如果 usbguard_daemon_write_rules 布尔值已关闭,请将其打开。

      # semanage boolean -m --on usbguard_daemon_write_rules
  2. 列出 USBGuard 识别的 USB 设备:

    # usbguard list-devices
    1: allow id 1d6b:0002 serial "0000:00:06.7" name "EHCI Host Controller" hash "JDOb0BiktYs2ct3mSQKopnOOV2h9MGYADwhT+oUtF2s=" parent-hash "4PHGcaDKWtPjKDwYpIRG722cB9SlGz9l9Iea93+Gt9c=" via-port "usb1" with-interface 09:00:00
    ...
    6: block id 1b1c:1ab1 serial "000024937962" name "Voyager" hash "CrXgiaWIf2bZAU+5WkzOE7y0rdSO82XMzubn7HDb95Q=" parent-hash "JDOb0BiktYs2ct3mSQKopnOOV2h9MGYADwhT+oUtF2s=" via-port "1-3" with-interface 08:06:50
  3. 永久授权设备 6 ,以与系统进行交互:

    # usbguard allow-device 6 -p
  4. 永久取消授权并删除设备 6

    # usbguard reject-device 6 -p
  5. 永久取消授权并保留设备 6

    # usbguard block-device 6 -p
注意

USBGuard 使用术语 blockreject,其含义如下:

block
现在不要与此设备进行交互。
reject
忽略此设备,就好像它不存在一样。

验证

  1. 检查 USBGuard 规则是否包含您所做的更改。

    # usbguard list-rules

其它资源

  • usbguard(1) 手册页。
  • 使用 usbguard --help 命令列出内置的帮助信息。