一、rpm包的校验
1、rpm包校验基本命令
[root@localhost ~ ] # rpm -Va
选项:
-Va校验本机已经安装的所有软件包(一般不用,需要验证哪个包就单独验证。)
[root@localhost ~ ] # rpm -V 已安装的包名
选项:
-V校验指定RPM包中的文件(verify),常用。
[root@localhost ~ ] # rpm -Vf 系统文件名(通过rpm包安装出来的,自己创建的不行。)
选项:
-Vf校验某个系统文件是否被修改
2、校验某个系统文件是否被修改举例
#校验httpd软件包,可以看到如果新安装的软件,没有动过任何文件,验证是没有任何结果的。
[root@localhost ~]# rpm -V httpd
#修改一下httpd配置文件,加一个空行。
[root@localhost ~]# vi /etc/httpd/conf/httpd.conf
#再次验证
[root@localhost ~ ] # rpm -V httpd
S.5....T. c /etc/httpd/conf/httpd.conf
验证内容 文件类 型文件名
上边提示的信息是 /etc/httpd/conf/httpd.conf文件和刚装完的状态不同。
哪里不同,在`S.5....T.`提示了。
提示:
最前面共有8个信息内容,是表示验证内容的。
文件名前面的c是表示这是个配置文件(configuration)。
最后是文件名。
3、验证内容中的8个信息的具体内容
- S:文件大小是否改变
- M:文件的类型或文件的权限(rwx)是否被改变
- 5:文件MD5校验和是否改变(可以看成文件内容是否改变)
- D:设备的主从代码是否改变
- L:文件路径是否改变
- U:文件的属主(所有者)是否改变
- G:文件的属组是否改变
- T:文件的修改时间是否改变
注意:
问什么验证了文件大小是否改变,还需要验证文件的内容是否改变?
也有可能没有新增或者删除文件的内容,只有修改了一个字母或者文字,源文件大小没有改变,但是文件的内容已经改变了。
4、有哪些文件类型?
- c:配置文件(config file)
- d:普通文档(documentation)
- g:“鬼”文件(ghostfile),很少见,就是该文件不应该被这个RPM包包含(说明这个rpm包出现了异常)。
- l:授权文件(license file)
- r:描述文件(read me)
二、rpm包的证书
1、数字证书
上面的校验方法只能对已经安装的RPM包中的文件进行校验,但是如果RPM包本身就被动过手脚,那么校验就不能解决问题了,我们就必须使用数字证书验证了。
2、数字证书有以下特点
- 1.首先必须找到原厂提供的公钥文件,然后进行安装。
这个公钥文件在光盘和系统中都能找到。 - 2.再安装RPM包时,会去提取RPM包中的证书信息,然后和本机安装的原厂证书进行验证。
- 3.如果验证通过,则允许安装;如果验证不通过,则不允许安装并警告。
3、数字证书位置
其实在CentOS6.8的第一张光盘中就有,当然它默认也会放在系统中。
- 数字证书在光盘中的位置
[root@localhost ~ ] # ll /mnt/cdrom/RPM-GPG-KEY-Cent0S-6
-r--r--r--2 root root 17067月204:21/mnt/cdrom/RPM-GPG-KEY-CentOS-6
- 系统中的数字证书位置
[root@localhost ~ ] #ll /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
-rw-r--r-.1 root root 17066月2617:29/etc/pki/rpm-gpg/RPM-GPG-KEY-Cent0S-6
4、数字证书导入
[root@localhost ~ ] # rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
选项:
--import:导入数字证书
我们如何查询系统中安装好的数字证书呢?
命令如下:
[root@localhost ~ ] # rpm -qa | grep gpg-pubkey
gpg-pubkey-c105b9de-4e0fd3a3
重点:配套学习资料和视频教学
那么在这里我也精心准备了上述大纲的详细资料在下方链接如下