1、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:描述文件(readme)。

2、RPM包的证书

(1)数字证书

上面的校验方法只能对已经安装的RPM包中的文件进行校验,但是如果RPM包本身就被动过手脚,那么校验就不能解决问题了,我们就必须使用数字证书验证了。

(2)数字证书有以下特点

  1. 首先必须找到原厂提供的公钥文件,然后进行安装。

    这个公钥文件在光盘和系统中都能找到。
  2. 再安装RPM包时,会去提取RPM包中的证书信息,然后和本机安装的原厂证书进行验证。
  3. 如果验证通过,则允许安装;如果验证不通过,则不允许安装并警告。

(3)数字证书位置

其实在CentOS6.8的第一张光盘中就有,当然它默认也会放在系统中。

  1. 数字证书在光盘中的位置
    [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

  2. 系统中的数字证书位置
    [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

『学了就忘』Linux软件包管理 — 43、RPM包的校验和证书的更多相关文章

  1. 『学了就忘』Linux软件包管理 — 40、Linux系统软件包介绍

    目录 1.Linux系统软件包分类 2.源码包说明 3.二进制包说明 4.RPM包的优缺点 4.RPM包的两种安装方法 5.总结 1.Linux系统软件包分类 Linux系统下的软件包只有源码包和二进 ...

  2. 『学了就忘』Linux软件包管理 — 42、对RPM软件包的查询操作

    目录 1.查询RPM软件包是否安装 2.查询系统中所有已安装的RPM软件包 3.查询RPM软件包的详细信息 4.查询RPM软件包中的文件列表 5.查询系统文件属于哪个RPM包 6.查询RPM软件包所依 ...

  3. 『学了就忘』Linux软件包管理 — 44、在RPM包中提取文件

    目录 1.RPM包中文件的提取 2.在RPM包中提取文件的操作 (1)cpio命令介绍 (2)提取RPM包中文件 1.RPM包中文件的提取 为什么要做这个事呢? 在操作Linux系统的时候误删除一个文 ...

  4. 『学了就忘』Linux软件包管理 — 47、Linux源码包的安装和卸载

    目录 1.源码包安装服务的注意事项 2.源码包安装服务的过程 3.源码包安装服务的删除 4.源码包安装服务的启动 5.源码包安装服务的关闭 1.源码包安装服务的注意事项 (1)安装服务选择哪种软件包? ...

  5. 『学了就忘』Linux软件包管理 — 49、拓展:Linux中通过脚本安装程序

    目录 1.脚本程序简介 2.Webmin安装 (1)简介 (2)安装 (3)使用 1.脚本程序简介 脚本程序包并不多见,所以在软件包分类中并没有把它列为一类.它更加类似于Windows下的程序安装,有 ...

  6. 『学了就忘』Linux软件包管理 — 46、yum命令详细介绍

    目录 1.yum命令的查询操作 2.使用yum命令安装服务 3.使用yum命令升级服务 4.使用yum命令卸载服务 5.yum组管理命令 (1)查询可以安装的软件组 (2)查询软件组内包含的软件 (3 ...

  7. 『学了就忘』Linux软件包管理 — 45、yum源文件详细说明

    目录 1.yum源文件解析 2.查看yum源文件 3.搭建本地光盘yum源 第一步: 第二步: 第三步: 提示:RPM包的在线安装就是yum安装,yum安装需要依据yum源文件内容配置来寻找软件.本文 ...

  8. 『学了就忘』Linux软件包管理 — 48、给源码包打补丁

    目录 1.补丁的生成 2.补丁的打入 在以前的软件源码包,需要打补丁的时候比较多.现在的源码包很少进行打补丁了,因为根据需求安装不同的版本即可,比较商业化了.(也就是知道如何给源码包打补丁就可以了,了 ...

  9. 『学了就忘』Linux服务管理 — 77、RPM包安装基于xinetd的服务的管理

    目录 1.基于xinetd服务的启动管理 (1)telnet服务安装 (2)telnet服务启动 2.基于xientd服务的自启动管理 现在Linux系统中基于xinetd的服务越来越少了,但Linu ...

随机推荐

  1. 生动直观的Gif图告诉你如何安装Python安装第3方库,在线安装离线安装全都搞定

    前言 学Python的小伙伴都知道,Python学习过程中需要装不少的第3方的库,今天就和大家一起分享下第3方库的安装方法 在线安装(推荐安装式式) 点开Pycharm--file--Project- ...

  2. 易华录 X ShardingSphere|葫芦 App 后台数据处理的逻辑捷径

    "ShardingSphere 大大简化了分库分表的开发和维护工作,对于业务的快速上线起到了非常大的支撑作用,保守估计 ShardingSphere 至少为我们节省了 4 个月的研发成本.& ...

  3. Java初步学习——2021.09.24每日总结,第三周周五

    (1)今天做了什么: (2)明天准备做什么? (3)遇到的问题,如何解决? 今天学了将数组传递给方法和方法返回数组,其中传递的是数组的引用. 明天把例子做了,尽量把查找也学习了. 遇到了两个问题: 1 ...

  4. bzoj2037 Sue的小球(区间dp,考虑到对未来的贡献)

    ​​​​​​​​​​​​​​大致意思就是现在你要不断的奔跑到不同的地点去接球,每一秒可以移动一个单位长度,而你接到一个球的动作是瞬间的,收益是y[i]-t*v[i] 然后呢,要求分数最高. 起初看这个 ...

  5. 在IDEA中创建SpringBoot项目01

    1.选择创建项目 2.填写项目信息 3. 4. 5.Finish后会下载,之后生成目录结构: 6.在自己的包目录结构下添加了Controllr和Entiy测试项目: Controller: 1 pac ...

  6. Vim合并行

    日常常用到多行合并的功能,记录如下: 第一种, 多行合并成一行,即: AAAAABBBBBCCCCC 合并为:AAAAA BBBBB CCCCC 方法1: normal状态下 3J 其中的3是范围,可 ...

  7. 【MySQL】MySQL(四)存储引擎、索引、锁、集群

    MySQL存储引擎 MySQL体系结构 体系结构的概念 任何一套系统当中,每个部件都能起到一定的作用! MySQL的体系结构 体系结构详解 客户端连接 支持接口:支持的客户端连接,例如C.Java.P ...

  8. 【UE4 设计模式】设计模式一些概念

    定义 设计模式是一套被反复使用的.多数人知晓的.经过分类编目的.代码设计经验的总结. 使用设计模式是为了重用代码.让代码更容易被他人理解.保证代码可靠性. 四人帮 GOF ( Gang of Four ...

  9. ffmpeg剪视频

    ffmpeg裁剪合并视频   ffmpeg提供简单的命令参数: ffmpeg -ss START -t DURATION -i INPUT -vcodec copy -acodec copy OUTP ...

  10. django通过管理页上传图片

    1.配置目录 新建上传录.static/medis 2.设置上传文件保存路径 # setting.py中设置上传文件路径static/media MEDIA_ROOT = os.path.join(B ...