USBGuard安装与配置指南
1. 项目基础介绍
USBGuard 是一个用于实现USB设备授权策略的软件框架,它决定了哪些USB设备被授权以及这些设备如何与系统交互。简单来说,它是一个USB设备的白名单工具,可以增强系统对USB设备的安全管理。
该项目主要使用 C++ 编程语言开发。
2. 项目使用的关键技术和框架
- libqb:用于基于UNIX域套接字的本地IPC(进程间通信)。
- protobuf:用于IPC消息的序列化和反序列化。
- libsodium 或 libgcrypt:用于哈希和加密。
- asciidoc (a2x):用于生成文档。
- libseccomp:用于实现系统调用允许列表。
- libcap-ng:用于降低进程权限。
3. 项目安装和配置的准备工作
在开始安装USBGuard之前,请确保您的系统中已安装以下依赖项:
- GCC 5.1 或更高版本(推荐使用 GCC 7 或更高版本)
- make
- autoconf
- automake
- libtool
- pkg-config -asciidoc (a2x)
- libprotobuf-dev
- libqb-dev
- libseccomp-dev
- libsodium-dev 或 libgcrypt-dev
对于基于Debian的GNU/Linux发行版(如Ubuntu 21.10),可以使用以下命令安装这些依赖项:
sudo apt update && \
sudo apt install --no-install-recommends -V \
asciidoc autoconf automake build-essential libaudit-dev \
libcap-ng-dev libdbus-glib-1-dev libldap-dev \
libpolkit-gobject-1-dev libprotobuf-dev libqb-dev \
libseccomp-dev libsodium-dev libtool libxml2-utils \
pkg-config protobuf-compiler xsltproc
安装步骤
- 克隆USBGuard的Git仓库:
git clone https://github.com/USBGuard/usbguard.git
cd usbguard
- 如果是从仓库克隆的源码,需要运行
autogen.sh脚本来准备构建系统:
./autogen.sh
- 配置构建选项:
./configure --enable-systemd --with-crypto-library=gcrypt
这里使用了 gcrypt 作为加密库,您也可以选择 sodium 或 openssl。
- 构建项目:
make
- 运行测试(可选):
make check
- 安装USBGuard:
sudo make install
- 在首次启动USBGuard守护进程之前,需要生成一个规则文件,以保持当前连接的USB设备(特别是鼠标和键盘)的正常工作,避免系统锁定:
sudo sh -c 'usbguard generate-policy > /etc/usbguard/rules.conf'
- 启动USBGuard服务:
sudo systemctl start usbguard.service
- 如果希望每次启动计算机时都自动启动USBGuard服务,可以执行以下命令:
sudo systemctl enable usbguard.service
完成以上步骤后,USBGuard就安装配置完成了。您可以开始根据需要定制USB设备授权策略。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



