0

0

Linux debsums与rpm -V命令详解

舞姬之光

舞姬之光

发布时间:2025-11-17 23:01:02

|

691人浏览过

|

来源于php中文网

原创

debsums和rpm-V是Linux下校验软件包完整性的工具,分别用于Debian系和RPM系系统,通过比对文件校验和、权限、大小等属性检测是否被篡改;debsums常用-c检查异常文件,rpm-V显示变更标志如S.5....T表示大小、MD5、时间戳变化,二者均适用于安全审计与故障排查,需结合可信基线和其他检测手段使用。

linux debsums与rpm -v命令详解

在Linux系统中,确保软件包的完整性和安全性是系统管理的重要部分。不同发行版提供了各自的工具来校验已安装文件是否被修改或损坏。Debian系列使用debsums,而RPM系如Red Hat、CentOS、Fedora则使用rpm -V命令。下面详细介绍这两个工具的作用、用法和实际应用场景。

debsums:Debian/Ubuntu下的文件完整性校验工具

debsums 是Debian及其衍生系统(如Ubuntu)中用于验证已安装软件包文件完整性的工具。它通过比对文件当前的校验和与安装时记录的校验和来判断文件是否被更改。

安装 debsums(默认可能未安装):

sudo apt install debsums

常用用法:

  • 校验所有已安装包
    sudo debsums -c —— 只显示校验失败的文件
  • 详细检查某个包
    debsums package_name
  • 检查配置文件是否被修改
    debsums -c --config
  • 重新生成校验和数据库(谨慎使用):
    debsums --generate=keep

注意:系统正常运行中,某些文件(如日志、缓存)被修改是正常的,因此debsums报告差异不一定代表问题。重点关注二进制程序和关键配置文件。

rpm -V:RHEL/CentOS/Fedora中的包验证命令

rpm -V(即 rpm --verify)用于验证已安装RPM包中文件的属性是否与打包时一致。它检查内容、权限、所有者、时间戳等。

基本语法:

rpm -V package_name

若无输出,表示一切正常;若有变更,会显示标志位。

Figstack
Figstack

一个基于 Web 的AI代码伴侣工具,可以帮助跨不同编程语言管理和解释代码。

下载

输出说明(每列一个字符):

  • S:文件大小不同
  • M:权限或类型改变
  • 5:MD5校验和不一致(内容变化)
  • D:设备主/次号不同
  • L:符号链接路径变化
  • U:用户所有者不同
  • G:组所有者不同
  • T:修改时间不同
  • P:证书不匹配(罕见)

例如输出 S.5....T c /etc/httpd/conf/httpd.conf 表示该配置文件大小、MD5值和时间戳都变了。

常用选项:

  • rpm -Va:验证所有已安装包
  • rpm -V httpd:只验证httpd包
  • rpm -Vf /path/to/file:验证包含该文件的包

使用场景与安全建议

这两个工具主要用于检测系统异常,比如:

  • 排查是否有文件被恶意篡改(后门、木马)
  • 确认系统升级后关键配置是否保留
  • 审计系统合规性

但要注意:

  • 正常维护中文件变动是常见的(如管理员修改配置)
  • 应定期在系统稳定时建立“可信基线”
  • 结合日志、入侵检测系统(如AIDE)使用效果更佳

基本上就这些。理解 debsums 和 rpm -V 的输出,能帮你快速定位系统异常,提升运维效率与安全性。

相关专题

更多
数据库三范式
数据库三范式

数据库三范式是一种设计规范,用于规范化关系型数据库中的数据结构,它通过消除冗余数据、提高数据库性能和数据一致性,提供了一种有效的数据库设计方法。本专题提供数据库三范式相关的文章、下载和课程。

343

2023.06.29

如何删除数据库
如何删除数据库

删除数据库是指在MySQL中完全移除一个数据库及其所包含的所有数据和结构,作用包括:1、释放存储空间;2、确保数据的安全性;3、提高数据库的整体性能,加速查询和操作的执行速度。尽管删除数据库具有一些好处,但在执行任何删除操作之前,务必谨慎操作,并备份重要的数据。删除数据库将永久性地删除所有相关数据和结构,无法回滚。

2072

2023.08.14

vb怎么连接数据库
vb怎么连接数据库

在VB中,连接数据库通常使用ADO(ActiveX 数据对象)或 DAO(Data Access Objects)这两个技术来实现:1、引入ADO库;2、创建ADO连接对象;3、配置连接字符串;4、打开连接;5、执行SQL语句;6、处理查询结果;7、关闭连接即可。

346

2023.08.31

MySQL恢复数据库
MySQL恢复数据库

MySQL恢复数据库的方法有使用物理备份恢复、使用逻辑备份恢复、使用二进制日志恢复和使用数据库复制进行恢复等。本专题为大家提供MySQL数据库相关的文章、下载、课程内容,供大家免费下载体验。

253

2023.09.05

vb中怎么连接access数据库
vb中怎么连接access数据库

vb中连接access数据库的步骤包括引用必要的命名空间、创建连接字符串、创建连接对象、打开连接、执行SQL语句和关闭连接。本专题为大家提供连接access数据库相关的文章、下载、课程内容,供大家免费下载体验。

322

2023.10.09

数据库对象名无效怎么解决
数据库对象名无效怎么解决

数据库对象名无效解决办法:1、检查使用的对象名是否正确,确保没有拼写错误;2、检查数据库中是否已存在具有相同名称的对象,如果是,请更改对象名为一个不同的名称,然后重新创建;3、确保在连接数据库时使用了正确的用户名、密码和数据库名称;4、尝试重启数据库服务,然后再次尝试创建或使用对象;5、尝试更新驱动程序,然后再次尝试创建或使用对象。

408

2023.10.16

vb连接access数据库的方法
vb连接access数据库的方法

vb连接access数据库方法:1、使用ADO连接,首先导入System.Data.OleDb模块,然后定义一个连接字符串,接着创建一个OleDbConnection对象并使用Open() 方法打开连接;2、使用DAO连接,首先导入 Microsoft.Jet.OLEDB模块,然后定义一个连接字符串,接着创建一个JetConnection对象并使用Open()方法打开连接即可。

390

2023.10.16

vb连接数据库的方法
vb连接数据库的方法

vb连接数据库的方法有使用ADO对象库、使用OLEDB数据提供程序、使用ODBC数据源等。详细介绍:1、使用ADO对象库方法,ADO是一种用于访问数据库的COM组件,可以通过ADO连接数据库并执行SQL语句。可以使用ADODB.Connection对象来建立与数据库的连接,然后使用ADODB.Recordset对象来执行查询和操作数据;2、使用OLEDB数据提供程序方法等等。

219

2023.10.19

Java 项目构建与依赖管理(Maven / Gradle)
Java 项目构建与依赖管理(Maven / Gradle)

本专题系统讲解 Java 项目构建与依赖管理的完整体系,重点覆盖 Maven 与 Gradle 的核心概念、项目生命周期、依赖冲突解决、多模块项目管理、构建加速与版本发布规范。通过真实项目结构示例,帮助学习者掌握 从零搭建、维护到发布 Java 工程的标准化流程,提升在实际团队开发中的工程能力与协作效率。

4

2026.01.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7万人学习

Git 教程
Git 教程

共21课时 | 2.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号