我跑:
:~$ sudo rkhunter --checkall --report-warnings-only
我收到的警告之一:
Warning: Suspicious file types found in /dev:
/dev/.udev/rules.d/root.rules: ASCII text
并且root.rules
包含:
SUBSYSTEM=="block", ENV{MAJOR}=="8", ENV{MINOR}=="1", SYMLINK+="root"
我想了解这些变量的含义和作用SUBSYSTEM
,ENV{MAJOR}
以及SYMLINK+
。
答案1
有问题的行是udev
规则,它定义了用于识别规则所作用的设备的某些条件。
SUBSYSTEM
是匹配密钥,与设备的子系统进行匹配。在这种情况下,规则仅匹配 sysbsystem 中的设备block
。ENV
是可用于匹配和分配环境变量的关键。在这种情况下,规则将设备与MAJOR
先前声明为 的变量8
以及MINOR
先前声明为 的变量相匹配1
。SYMLINK
是一个赋值键,其中包含充当设备节点的备用名称的符号链接列表。表单的操作KEY+="value"
添加到执行的操作中,例如在本例中SYMLINK+="root"
告诉udev
创建一个在目录root
下调用的符号链接/dev
,此外到将要创建的任何其他符号链接。
换句话说,上述规则告诉为属于子系统的设备udev
创建附加符号链接/dev/root
block
主设备号 8
和次要设备号 1
,即根分区。
有问题的文件是由mountall
文件系统安装工具创建的,并且除非它是世界可写的,不应该是一个问题。rkhunter
根据文件类型标记文件。要抑制rkhunter
警告,您可以添加白名单规则/etc/rkhunter.conf.local
:
ALLOWDEVFILE=/dev/.udev/rules.d/root.rules
答案2
udev 规则在您的设置中创建一个指向块设备 ( SUBSUSTEM=="block"
) 的符号链接,其中包含信息 8,1(ENV{MAJOR}=="8", ENV{MINOR}=="1"
第一个驱动器上的第一个分区)。该链接名为 /dev/root,带有SYMLINK+="root"
,加号告诉 udev 不应覆盖之前创建到该设备的任何链接,而是向其添加一个链接。
在许多 Linux 系统上以某种形式发现的另一条类似规则是:
SUBSYSTEM=="block", ENV{ID_SERIAL}=="DVD_Drive_USB2_10000E0008441C1E", SYMLINK+="cdrom"
这表示序列号为 DVD_Drive_USB2_10000E0008441C1E 的块设备应符号链接到 /dev/cdrom
我不完全确定为什么 rkhunter 会抱怨这一点,但这完全是由于 /dev/.udev/rules.d/root.rules 的类型不是设备或符号链接,而是文件。我认为这并不危险。