3-5 RPM包校验
1.RPM包校验
<1>rpm -V 已安装的包名
<2>选项:
-V 校验制定RPM包中的文件(verify)
<3>说明:
<1>若没有显示任何内容,则证明包正常,则没有被修改过
<2>一旦有显示,则证明包被修改过,
且会在相应位置显示出被修改过的属性所代表的字母(.说明该属性没有被修改)
-----------------------------------------------------------------------------------------------------------------
验证内容中8个信息的具体内容如下:
S 文件大小是否改变
M 文件的类型或文件的权限(rwx)是否改变
5 文件MD5校验和是否改变(可以看成文件内容是否改变)
D 设备的主从代码是否改变
L 文件路径是否改变
U 文件的属主(所有者)是否改变
G 文件的属组是否改变
T 文件的修改时间是否改变
-----------------------------------------------------------------------------------------------------------------
文件类型:
c 配置文件(config file)
d 普通文档(documentation)
g “鬼”文件(ghost file),很少见,就是该文件不应该被这个rpm包包含
L 授权文件(license file)
r 描述文件(read me)
-----------------------------------------------------------------------------------------------------------------
<3>若出现鬼文件,有可能是出现漏洞或被攻击的可能
<4>该命令用于验证你的文件与官方提供的文件是否相同,从而判断系统文件是否被做过修改
2.RPM包中文件提取
<1>rpm2cpio 包全名 | cpio -idv .文件绝对路径
<2> --- rpm2cpio //将rpm包转换为cpio格式的命令
--- cpio //是一个标准工具,它用于创建软件档案文档和从档案文件中提取文件
<3>若由于误操作,不小心删除某些重要系统命令,如ls等,
可以通过rpm包提取文件的方法进行恢复
<4>命令: cpio 选项 < [文件|设备] //可以使用重定向也可以使用管道符
选项:
-i copy-in模式,还原
-d 还原时自动创建新目录
-v 显示还原过程
-----------------------------------------------------------------------------------------------------
<1>比如,不小心删除了ls命令
where is ls
mv /bin/ls /tmp //由于是做实验,不要真的删除,剪切就好
<2>此时就无法使用ls命令了
<3>接着可以使用cpio从rpm包中提取文件进行恢复
<4>首先 查询ls命令属于哪个软件包
rpm -qf /bin/ls
<5>接着造成误删除ls命令的假象
mv /bin/ls /tmp/
<6>提取rpm包中的ls命令到当前所在目录下
rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.el6.i686.rpm | cpio -idv ./bin/ls
.表示提取到当前目录,因此要考虑当前所在位置
./bin/ls表示我要提取这个文件
<7>把ls命令复制回/bin/目录,修复文件丢失
3-5 RPM包校验的更多相关文章
- [Linux] 023 RPM 包校验与文件提取
1. RPM 包校验 $ rpm -V 已安装的包名 选项 释义 -V (verify) 校验指定 RPM 包中的文件 (1) 验证内容中的 8 个信息的具体内容如下 信息名称 释义 S 文件大小是否 ...
- Linux系列(33)- rpm命令管理之RPM包校验提取(5)
校验 格式 rpm -V 已安装的包名 选项: - -V:校验指定RPM包中的文件(verify) 例子 rpm -V httpd 后, 无任何提示, 代表该文件没有被做任何修改 # 判断本地的apa ...
- RPM包校验和提取
一.RPM包校验 [root@localhost Packages]# rpm -V 已安装的包名 #选项: # -V 校验指定RPM包中的文件(verify) [root@localho ...
- RPM包安装软件 -- 详细解读
一.RPM包命名规则 1.RPM包在哪 RPM包在光盘中 2.RPM包命名原则 httpd-2.2.15-15.e16.centos.1.i686.rpm httpd 软件包名 2.2.15 软件版本 ...
- Linux下RPM包的安装
Linux下RPM包安装 二进制包(RPM包.系统默认包) RPM安装 rpm -ivh 包全名(查询依赖网址:http://www.rpmfind.net) -i(install):安装 -v(ve ...
- rpm包软件管理
一.rpm介绍 linux服务器中所有的软件包安装方式有两种,一种是源码安装.另一种是二进制包安装(rpm)源码包安装的好处是适合不同的发行版本的linux,缺点是在编译过程中花费的时间很长,二进制包 ...
- RPM包和YUM仓库管理
1.RPM包管理 RPMRPM Package Manger,前身Redhat Package Manger,由红帽开发用于软件包的安装升级卸载与查询有一个完整的数据库体系,每个RPM包的所有信息都固 ...
- 『学了就忘』Linux软件包管理 — 43、RPM包的校验和证书
目录 1.RPM包的校验 (1)RPM包校验基本命令 (2)校验某个系统文件是否被修改举例 (3)验证内容中8个信息的具体内容 (4)文件类型有哪些 2.RPM包的证书 (1)数字证书 (2)数字证书 ...
- linux rpm之已安装包校验、rpm包中文件提取
已安装包校验 rpm -V 已安装的包名-V 校验指定rpm包中的文件 rpm -V pth没有任何提示,说明自安装后没有做过任何修改 rpm包中文件提取 比如对一个系统配置文件误操作,可以根据这个文 ...
随机推荐
- powershell 判断操作系统版本 命令
powershell 传教士 原创文章.始于 2015-12-15 允许转载,但必须保留名字和出处,否则追究法律责任 一 前言 判断操作系统版本,是个老话题,bat.vbs中都有例子,这本不是重要问题 ...
- hql语句理解2
/* * this.getSession().createQuery("sdfdf").executeUpdate();这里面的query可以是delete,update,inse ...
- 《Java中方法的参数传递方式只有一种:值传递》
//方法的参数传递机制(1):基本类型做形参的传递. class PrimitiveTransferTest { public static void swap(int a,int b) { //下面 ...
- 3D中的切线空间简介
转自:http://www.cnblogs.com/cxrs/archive/2009/10/25/1589515.html 1. 什么是Tangent space? Tangent space和wo ...
- JVM值内存垃圾回收监控之jstat
如何判断JVM垃圾回收是否正常?一般的top指令基本上满足不了这样的需求,因为top主要监控的是总体的系统资源,很难定位到java应用程序. Jstat是JDK自带的一个轻量级小工具.全称“Java ...
- 解决mac eclipse 异常退出后无法打开处于loading状态
<workspace>\.metadata\.plugins\org.eclipse.core.resources目录,删除文件 .snap
- hdu 2075
PS:水得不能再水..刚开始还以为是大数..要用到快速幂...谁知道想太多...就普通int型.. 代码: #include "stdio.h" int main(){ int a ...
- hdu 2037
PS: - -原本想的是排序开始时间和消耗时间..后来想到可以排序结束时间..后来还wa了一次,因为排序的时候溢出了 思路: 1 3 //13 4 //20 7 3 8 2 9 5 10 //36 ...
- php大力力 [019节]php分页类的学习
2015-08-26 php大力力019.php分页类的学习 [2014]兄弟连高洛峰 PHP教程14.2.1 分页需求分析 14:18 [2014]兄弟连高洛峰 PHP教程14.2.2 分页类中分页 ...
- 任意阶魔方阵(幻方)的算法及C语言实现
写于2012.10: 本来这是谭浩强那本<C程序设计(第四版)>的一道课后习题,刚开始做得时候去网上找最优的算法,结果发现奇数和双偶数(4的倍数)的情况下算法都比较简单,但是单偶数(2的倍 ...