文章目录

  • 一、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/ 位置:

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

安装数字证书:

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

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

$ rpm -qa|grep gpg-pubkey


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

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

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

Linux RPM包校验和数字证书相关推荐

  1. Linux rpm 包安装不了,解决方法

    Linux rpm 包安装不了,解决方法 你是否 碰到如下情况: error: db4 error(2) from dbenv->open: No such file or directory ...

  2. linux RPM包安装、更新、删除等操作命令简明总结, 如何查看yum安装的软件路径 ?...

    rpm -ivh package.rpm 安装一个rpm包 rpm -ivh --nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告 rpm -U package.rpm 更新 ...

  3. linux rpm 包制作详解

    一.RPM介绍 RPM 前是Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理:现在应为RPM Package M ...

  4. Linux RPM包安装、卸载和升级(rpm命令)详解

    本节讲解如何使用 rpm 命令对 RPM 二进制包进行安装.卸载和升级操作. 我们以安装 apache 程序为例.因为后续章节还会介绍使用源码包的方式安装 apache 程序,读者可以直观地感受到源码 ...

  5. Linux:rpm包常用下载地址

    rpm包常用下载地址 rpmfind: http://rpmfind.net/linux/RPM/index.html pkgs: https://pkgs.org/ fedora koji: htt ...

  6. linux rpm包解压到当前目录

    rpm2cpio命令:从rpm包中提取cpio归档文件. cpio命令:从归档文件向外提取文件,和向归档文件中复制文件(copy files to and from archives). 先把rpm文 ...

  7. Linux RPM包管理及yum安装用法

    rpm命令 RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的"添加/删除程序" 常用命令组合:     -ivh      ...

  8. linux rpm包,安装路径查看及改变rpm包默认安装路径

    查看: easwy:~$ rpm -qpl ext3grep-0.10.0-1.el5.rf.i386.rpm/usr/bin/ext3grep/usr/share/doc/ext3grep-0.10 ...

  9. 13. 软件包详解,rpm包的查找,安装,升级,卸载,验证等所有操作

    本小节会详细介绍linux中的软件包管理,涉及软件包的定义/安装/卸载/依赖等操作.以及会详细演示rpm这个非常重要命令的使用. 文章目录 前言 软件包 源码包 二进制包 源码包 VS二进制包 依赖性 ...

最新文章

  1. 虚幻UE4的后处理特效介绍
  2. Intellij IDEA 创建Web项目并在Tomcat中部署运行
  3. Int 10 中断功能 详解
  4. Zookeeper基于Java 访问
  5. dockerclient 查看端口占用_docker 端口被占用问题解决
  6. (JAVA)红黑树之自然顺序排序和自定义排序方式
  7. 2021年Q3小红书美妆行业营销报告
  8. 容器编排技术 -- Kubernetes 为 Namespace 设置最小和最大内存限制
  9. Dijkstra求最短路径例题
  10. Linux下Qt使用QAudio相关类进行音频采集,使用Windows下的Matlab软件播放
  11. android studio connot resolve
  12. 写给新入IT的新人们(转载)
  13. 用Python学分析:集中与分散
  14. 使用requests post请求爬取申万一级行业指数行情
  15. LANP源码安装注释版
  16. Python:实现arithmetic算术算法(附完整源码)
  17. python用len()函数说明
  18. Xcode 物理文件夹与工程文件夹
  19. 登陆拦截页面报错:localhost 将您重定向的次数过多。 尝试清除 Cookie. ERR_TOO_MANY_REDIRECTS
  20. 字符串逆序输出c语言,5、输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。...

热门文章

  1. java线程池返回线程状态_Java线程的不同状态
  2. 后端 java ee_刷新器-Java EE 7后端十大功能
  3. 使用Spring Security进行简单身份验证
  4. Log4j Bug –减慢您的应用程序
  5. java 模板方法设计模式_Java中的模板方法设计模式
  6. oracle线程阻塞_Oracle Service Bus –线程阻塞案例研究
  7. swing 聊天气泡背景_Java Swing中的聊天气泡
  8. html5开发ria_用于RIA的JavaFX 2与HTML5
  9. jvm线程分析命令_JVM:如何分析线程转储
  10. Java设计模式教程