麒麟系统需通过五种方式交叉验证u盘插拔行为:一、dmesg查内核日志;二、journalctl查systemd日志;三、安全中心图形界面查设备记录;四、解析/var/log/usb-audit.log;五、检查/sys/kernel/debug/usb/devices实时拓扑。

如果您在麒麟操作系统中需要追溯U盘、移动硬盘等外部存储器的插拔行为,以满足合规审计或安全排查需求,则需结合内核日志、系统服务日志及安全中心审计模块进行多源交叉验证。以下是具体操作步骤:
一、使用dmesg提取内核级USB插拔事件
该方法直接读取内核环形缓冲区,可捕获设备插入与移除的原始时间戳和硬件特征,是获取实时插拔记录的最底层途径。内核日志不持久化保存,重启后部分早期记录将丢失,但对近期操作具备高时效性。
1、打开终端,执行命令:sudo dmesg | grep -iE "usb.*add|usb.*remove|new high-speed|usb.*storage"。
2、若需查看带本地时间戳的最近20条记录,运行:sudo dmesg -T | tail -n 20 | grep -i usb。
3、观察输出中是否包含类似“usb 2-1: new SuperSpeed USB device”或“usb 2-1: USB disconnect, device number 5”的行,其中数字“2-1”表示总线-端口号,“device number 5”为内核分配的临时编号。
二、通过journalctl检索systemd设备事件日志
该方法调用systemd-journald服务归档的结构化日志,覆盖udev规则触发、设备节点创建、驱动绑定全过程,支持按时间范围精确回溯,且日志默认持久化保留7天以上(取决于系统配置)。
1、执行命令:sudo journalctl --no-pager -o short-iso -k | grep -i "usb.*add\|usb.*remove"。
2、如需限定查询过去48小时内记录,添加时间参数:sudo journalctl --since "2 days ago" -k | grep -i "usb add\|usb remove"。
3、若发现含“KYSEC devctl rejected”字段的日志行,表明该次插拔已被麒麟安全管控策略主动拦截,需同步核查安全中心设备策略。
三、查阅安全中心“设备连接记录”图形界面
该模块由麒麟OS内置安全中心提供,专为政企审计场景设计,自动采集并结构化存储外设接入时间、设备厂商ID、产品ID、序列号(若可读)、连接接口类型及策略执行结果,符合等保2.0“外设接入行为可追溯”要求。
1、点击左下角“开始菜单”,在搜索栏输入安全中心并启动应用。
2、在左侧导航栏中依次点击设备安全 → 设备连接记录。
3、在右侧列表中筛选“存储类设备”,查看每条记录的接入时间、设备名称、厂商信息、序列号(如有)、状态(已允许/已拦截)。
4、双击某条记录可展开详情,显示对应USB设备的VID:PID(如0781:5581)、总线地址(如2-1)、挂载路径(如/media/Kingston)。
四、解析/var/log/usb-audit.log自定义审计日志
若系统已部署USB外设专项审计策略(常见于信创加固环境),则会通过udev规则将插拔事件写入专用日志文件。该日志格式统一、字段完整,适合作为第三方审计工具的数据源。
1、确认日志文件是否存在:sudo ls -l /var/log/usb-audit.log。
2、若存在,以管理员权限查看全部记录:sudo cat /var/log/usb-audit.log。
3、按时间倒序查看最新10条:sudo tail -n 10 /var/log/usb-audit.log。
4、每行典型格式为:1746178380 add 0781:5581 4C530001234567890123 sdb,其中首字段为Unix时间戳,第二字段为操作类型,第三字段为VID:PID,第四字段为序列号,第五字段为设备节点名。
五、检查/sys/kernel/debug/usb/devices运行时拓扑快照
该路径提供内核USB子系统的实时内存映射数据,虽不记录历史,但可辅助验证当前设备是否仍处于已枚举状态,并反向推断其插拔时间窗口——若某设备在lsusb中可见却未出现在安全中心记录中,说明其接入未触发审计规则或规则未生效。
1、启用debugfs(若未挂载):sudo mount -t debugfs none /sys/kernel/debug。
2、读取USB设备全量信息:sudo cat /sys/kernel/debug/usb/devices | grep -A 5 -B 5 "Product="。
3、定位目标设备后,查找其Manufacturer=、Product=、SerialNumber=三行,比对与安全中心或usb-audit.log中记录是否一致。
4、特别注意Port#、Dev#、Speed=字段,可用于识别USB 2.0/3.0接口差异及物理端口归属。











