文章目录

  • 一、Linux RPM 包校验
  • 二、Linux RPM 数字证书验证
  • (一)使用数字证书验证 RPM 包的步骤
  • (二)安装/卸载数字证书



为了能够及时发现文件误删、误修改文件数据、恶意篡改文件内容等问题,Linux 提供了以下两种检测方式:

  1. RPM 包校验:其实就是将已安装文件和 /var/lib/rpm/ 目录下的数据库内容进行比较,确定文件内容是否有改动。
  2. RPM 包数字证书校验:用来校验 RPM 包本身是否被修改。

一、Linux RPM 包校验

RPM 包校验可用来判断已安装的软件包的相关文件是否被修改,具体详见《精通 RPM 之校验篇

二、Linux RPM 数字证书验证

第一种校验方式只能用来校验已安装的RPM软件包的相关文件,如果 RPM 包本身就被篡改过,使用该方法就无法有效校验了,因此需要使用第二种方法:RPM 数字证书验证方法。

数字证书,又称数字签名,由软件商直接发布。Linux 系统安装数字证书后,若 RPM 包做了修改,此包携带的数字证书也会改变,将无法与系统成功匹配,软件无法安装。

(一)使用数字证书验证 RPM 包的步骤

  1. 必须找到原厂的公钥文件,也就是原厂证书文件,在要安装软件包的主机先安装原厂证书;
  2. 安装好原厂证书后,再安装 RPM 软件包,在安装软件包前,系统会先提取 RPM 软件包中的证书信息,和本机安装的原厂证书进行验证。如果验证通过,则允许安装;如果验证不通过,则不允许安装并发出警告。

数字证书默认会放到系统中 /etc/pki/rpm-gpg/ 位置:

linux 测试javac Linux 测试 数字证书_安装软件

(二)安装/卸载数字证书

安装数字证书:

$ rpm --import RPM-GPG-KEY-centos*

数字证书安装完成后,可使用如下命令进行验证:

$ rpm -qa|grep gpg-pubkey

linux 测试javac Linux 测试 数字证书_linux 测试javac_02


可以看到,数字证书已成功安装。在装有数字证书的系统上安装 RPM 包时,系统会自动验证包的数字证书,验证通过则可以安装,反之将无法安装。

既然可以按照证书,同样也能卸载数字证书,因为数字证书本身也是一个RPM包,因此可以使用 rpm -e 卸载:

$ rpm -e gpg-pubkey-5ba5fa8d-5ccc6012