linux判断usb进程命令,一种在Linux系统下审计USB设备历史使用情况的方法与流程...

本发明涉及计算机审计技术领域,具体涉及一种在Linux系统下审计USB设备历史使用情况的方法。

背景技术:

如今,在linux系统中,对于USB设备的插入拔出事件,系统自身是不带有审计功能的,这使得普通用户无法得知当前的系统被哪些USB设备访问过,如果用户想查看USB的历史使用情况,便无从下手。

技术实现要素:

为解决现有技术的不足,使Linux系统的使用者也能方便地了解USB设备的历史使用情况,本发明提供了一种在Linux系统下审计USB设备历史使用情况的方法,包括如下步骤:

S1:编写udev规则,udev通过定义udev规则产生匹配设备属性的设备文件;

S2:udev加载所编写的udev规则;

S3:udev收到内核事件,并匹配对应的udev规则;

S4:udev执行udev规则,匹配USB事件,根据事件动作判断所述USB事件是插入事件还是拔出事件,并获取设备的相关信息;

S5:根据所获取的设备信息进行字段处理;

S6:将所获取的信息与USB时间的发生时间一起记录至本地日志中。

其中,所述步骤S1中,所述设备属性包括内核设备名称、总线路径、厂商名称、型号、序列号及磁盘大小。

其中,所述步骤S1中,所产生的设备文件放入/etc/udev/rules.d/目录下。

其中,所述步骤S2中,可通过如下命令加载udev规则:udevadm control--reload或者重启udev服务。

其中,所述步骤S4中,所获取的设备的相关信息包括设备product ID、Vendor ID、设备序列号、设备厂商及设备Interface。

其中,所述步骤S5还包括:根据Interface来判定USB设备类型。

其中,在判断USB设备类型时,存贮类设备对应0x08,而hub对应0x09。

本发明提供的在Linux系统下审计USB设备历史使用情况的方法,能够审计在Linux系统下所有usb设备的插入/拔出事件,包括usb存贮设备、usb打印机以及usb扫描仪等。

附图说明

图1为本发明的在Linux系统下审计USB设备历史使用情况的方法的操作流程图。

具体实施方式

为了对本发明的技术方案及有益效果有更进一步的了解,下面配合附图详细说明本发明的技术方案及其产生的有益效果。

图1为本发明的在Linux系统下审计USB设备历史使用情况的方法的操作流程图,如图所示,本发明提供的在Linux系统下审计USB设备历史使用情况的方法,包括如下步骤:

S1:编写udev规则,udev通过定义udev规则产生匹配设备属性的设备文件;

S2:udev加载所编写的udev规则;

S3:udev收到内核事件,并匹配对应的udev规则;

S4:udev执行udev规则,匹配USB事件,根据事件动作判断所述USB事件是插入事件还是拔出事件,并获取设备的相关信息;

S5:根据所获取的设备信息进行字段处理;

S6:将所获取的信息与USB时间的发生时间一起记录至本地日志中。

较优的,所述步骤S1中,所述设备属性包括内核设备名称、总线路径、厂商名称、型号、序列号及磁盘大小。

较优的,所述步骤S1中,所产生的设备文件放入/etc/udev/rules.d/目录下。

较优的,所述步骤S2中,可通过如下命令加载udev规则:udevadm control--reload或者重启udev服务。

较优的,所述步骤S4中,所获取的设备的相关信息包括设备product ID、Vendor ID、设备序列号、设备厂商及设备Interface。

较优的,所述步骤S5还包括:根据Interface来判定USB设备类型。

较优的,在判断USB设备类型时,存贮类设备对应0x08,而hub对应0x09。

本发明中,所谓的Udev,指的是一种Linux系统2.6内核以上的设备管理器。

本发明中,所谓的“udevadm”,是指udev提供的自带工具;所谓的“Interface”,是指USB接口描述符。

本发明提供的在Linux系统下审计USB设备历史使用情况的方法,在具体实施时,发明人提供了以下两个具体的实施例:

实施例1

在linux桌面操作系统中,插入一个u盘,并拔出,系统中并无详细的信息记录,本实施例对于审计该usb设备的具体步骤为:

(1)编写udev规则,对其规则匹配键使用操作符进行判断,当事件的总线为usb,并且环境变量DEVTYPE为usb_device时,则在RUN+=中指定处理usb设备信息的脚本程序。将udev信息中的环境变量{ID_VENDOR_ID},{ID_MODEL_ID},{ID_VENDOR},{ID_SERIAL_SHORT},{ID_MODEL},{ID_USB_INTERFACES},{ID_VENDOR_FROM_DATABASE},{ID_MODEL_FROM_DATABASE}作为参数传入。

具体内容如下:

ACTION=="add",SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",RUN+="/usr/bin/usb_log add VID=%E{ID_VENDOR_ID}PID=%E{ID_MODEL_ID}'%E{ID_VENDOR}''%E{ID_SERIAL_SHORT}''%E{ID_MODEL}'interface=%E{ID_USB_INTERFACES}'%E{ID_VENDOR_FROM_DATABASE}''%E{ID_MODEL_FROM_DATABASE}'"ACTION=="remove",SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",RUN+="/usr/bin/usb_log remove VID=%E{ID_VENDOR_ID}PID=%E{ID_MODEL_ID}'%E{ID_VENDOR}''%E{ID_SERIAL_SHORT}''%E{ID_MODEL}'interface=%E{ID_USB_INTERFACES}'%E{ID_VENDOR_FROM_DATABASE}''%E{ID_MODEL_FROM_DATABASE}'"

(2)编写脚本/usr/bin/usb_log,脚本内容为处理传入的参数,判断设备类型,并记录信息到本地。

(3)重启系统或在终端下运行udevadm control--reload命令加载该条规则。

(4)插入一个U盘,查看本地日志中关于插入该U盘信息的日志,内容包含时间、事件类型、VID、PID、设备厂商、设备序列号、设备名称、设备类型。

(5)拔出U盘,查看本地日志中关于该U盘拔出信息的日志,内容包含同步骤(4)。

实施例2

在linux桌面操作系统中,插入一个usb打印机,并拔出,系统中并无详细的信息记录,本实施例对于审计该usb设备的具体步骤为:

(1)编写udev规则,对其规则匹配键使用操作符进行判断,当事件的总线为usb,并且环境变量DEVTYPE为usb_device时,则在RUN+=中指定处理usb设备信息的脚本程序。将udev信息中的环境变量{ID_VENDOR_ID},{ID_MODEL_ID},{ID_VENDOR},{ID_SERIAL_SHORT},{ID_MODEL},{ID_USB_INTERFACES},{ID_VENDOR_FROM_DATABASE},{ID_MODEL_FROM_DATABASE}作为参数传入。

具体内容如下:

ACTION=="add",SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",RUN+="/usr/bin/usb_log add VID=%E{ID_VENDOR_ID}PID=%E{ID_MODEL_ID}'%E{ID_VENDOR}''%E{ID_SERIAL_SHORT}''%E{ID_MODEL}'interface=%E{ID_USB_INTERFACES}'%E{ID_VENDOR_FROM_DATABASE}''%E{ID_MODEL_FROM_DATABASE}'"ACTION=="remove",SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",RUN+="/usr/bin/usb_log remove VID=%E{ID_VENDOR_ID}PID=%E{ID_MODEL_ID}'%E{ID_VENDOR}''%E{ID_SERIAL_SHORT}''%E{ID_MODEL}'interface=%E{ID_USB_INTERFACES}'%E{ID_VENDOR_FROM_DATABASE}''%E{ID_MODEL_FROM_DATABASE}'"

(2)编写脚本/usr/bin/usb_log,脚本内容为处理传入的参数,判断设备类型,并记录信息到本地。

(3)重启系统或在终端下运行udevadm control--reload命令加载该条规则。

(4)插入一个usb打印机,查看本地日志中关于插入该打印机信息的日志,内容包含时间、事件类型、VID、PID、设备厂商、设备序列号、设备名称、设备类型。

(5)拔出usb打印机,查看本地日志中关于该打印机拔出信息的日志,内容同步骤(4)。

本发明的有益效果在于:本发明通过在linux系统下审计所有的USB的设备的插入,拔出事件及其所对应的设备信息,通过Udev规则匹配usb相应事件,获取并且区分USB的事件类型、设备类型(比如说存储设备),并将插入与拔出的时间、设备PID、VID、设备产商、设备名称、设备序列号等一系列信息记录到本地日志中,使得用户可以通过查看日志得知当前系统的USB设备访问历史情况。并且此种方法几乎不会占用系统任何资源,安全可靠。

虽然本发明已利用上述较佳实施例进行说明,然其并非用以限定本发明的保护范围,任何本领域技术人员在不脱离本发明的精神和范围之内,相对上述实施例进行各种变动与修改仍属本发明所保护的范围,因此本发明的保护范围以权利要求书所界定的为准。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值