详解Linux系统中md5sum命令的用法

这篇文章主要介绍了详解Linux系统中md5sum命令的用法,用来处理MD5验证的相关操作,需要的朋友可以参考下

MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。MD5全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的“指纹”(或称“报文摘要”),不同的文件产生相 同的报文摘要的可能性是非常非常之小的。

在linux或Unix上,md5sum是用来计算和校验文件报文摘要的工具程序。一般来说,安装了Linux后,就会有md5sum这个工具,直接在命令行终端直接运行。可以用下面的命令来获取md5sum命令帮助 man md5sum

1丶使用md5sum来产生指纹(报文摘要)命令如下:md5sum file > file.md5 或者 md5sum file >>file.md5

注: > 和 >> 的区别在于: > 表示把由file文件产生的摘要重定向到文件file.md5,但是会覆盖file.md5里面的内容;而 >> 则将输出的摘要附加到file.md5文件的后面。也可以把多个文件的报文摘要输出到一个md5文件中,这要使用通配符*,比如某目录下有几个iso文 件,要把这几个iso文件的摘要输出到iso.md5文件中,命令如下:md5sum *.iso > iso.md5

2丶使用md5报文摘要验证文件,方法有二:

1. 比如,把下载的文件file和该文件的file.md5报文摘要文件放在同一个目录下,然后用如下命令进行验证:md5sum -c file.md5 然后如果验证成功,则会输出:正确

2. 比如下载了文件file,然后运行下面的命令:md5sum file 命令会输出一个md5的报文摘要,然后把这个报文摘要直接与file.md5中的内容比较,如果一样,就说明验证正确。

linux md5sum的用法

适用于 Oracle 用户的技巧

md5sum 是一个非常强大的用于安全性实施的命令。您所管理的某些配置文件(如 listener.ora、tnsnames.ora 和 init.ora)对于成功的 Oracle 基础架构非常重要,任何修改都可能会导致停机。这些通常是更改控制过程的一部分。不要相信别人所说的这些文件并未更改,使用 MD5 校验和执行该命令。创建一个校验和文件,并在每次执行计划的更改时重新创建该文件。作为合规性的一部分,使用 md5sum 命令检查该文件。如果某个人无意中更新了这些重要文件中的一个,您就会立即捕获更改。

同样,您还可以为 $ORACLE_HOME/bin 中的所有可执行文件创建 MD5 校验和,并不断比较它们以捕获未授权的修改。

一 生成一个文件的md5值

复制代码

代码如下:

[oracle@node1 bin]$ md5sum lsnrctl

87df51eb21ee0643e47988a0d8136f18 lsnrctl

二 检查文件是否改变

代码如下:

[oracle@node1 ~]$ touch file1 file2

[oracle@node1 ~]$ ls

file1 file2 patch.log

[oracle@node1 ~]$

[oracle@node1 ~]$ md5sum file1 file2>f1f2

[oracle@node1 ~]$ md5sum --check f1f2

file1: OK

file2: OK

[oracle@node1 ~]$ echo "change" >>file1

[oracle@node1 ~]$ md5sum --check f1f2

file1: FAILED

file2: OK

md5sum: WARNING: 1 of 2 computed checksums did NOT match

实例如下:

Shell

代码如下:

# touch f1.txt f2.txt

# ls

f1.txt f2.txt

# md5sum *.txt > md5sumtest.md5

# cat md5sumtest.md5

d41d8cd98f00b204e9800998ecf8427e f1.txt

d41d8cd98f00b204e9800998ecf8427e f2.txt

# echo "hahaha" > f1.txt

# md5sum -c md5sumtest.md5

f1.txt: FAILED

f2.txt: OK

md5sum: WARNING: 1 of 2 computed checksums did NOT match

# echo "hahaha" > f2.txt

# md5sum -c md5sumtest.md5

f1.txt: FAILED

f2.txt: FAILED

md5sum: WARNING: 2 of 2 computed checksums did NOT match

# cat /dev/null > f1.txt

# md5sum -c md5sumtest.md5

f1.txt: OK

f2.txt: FAILED

md5sum: WARNING: 1 of 2 computed checksums did NOT match

# cat /dev/null > f2.txt

# md5sum -c md5sumtest.md5

f1.txt: OK

f2.txt: OK

代码如下:

# touch f1.txt f2.txt

# ls

f1.txt f2.txt

# md5sum *.txt > md5sumtest.md5

# cat md5sumtest.md5

d41d8cd98f00b204e9800998ecf8427e f1.txt

d41d8cd98f00b204e9800998ecf8427e f2.txt

# echo "hahaha" > f1.txt

# md5sum -c md5sumtest.md5

f1.txt: FAILED

f2.txt: OK

md5sum: WARNING: 1 of 2 computed checksums did NOT match

# echo "hahaha" > f2.txt

# md5sum -c md5sumtest.md5

f1.txt: FAILED

f2.txt: FAILED

md5sum: WARNING: 2 of 2 computed checksums did NOT match

# cat /dev/null > f1.txt

# md5sum -c md5sumtest.md5

f1.txt: OK

f2.txt: FAILED

md5sum: WARNING: 1 of 2 computed checksums did NOT match

# cat /dev/null > f2.txt

# md5sum -c md5sumtest.md5

f1.txt: OK

f2.txt: OK

猜你喜欢

  1. 详解Linux系统中crontab命令处理定时任务的用法

    定时执行操作命令,每一个用户拥有自己的crontab,配置文件存在/var下面,不能被直接编辑. -e 设置计时器 -l 列出当前计时器的设置 -r 删除计时器的设置 -i 交互式模式,删除计时器设置 ...

  2. 详解Linux系统中的root权限控制

    在Linux操作系统中,root的权限是最高的,也被称为超级权限的拥有者.普通用户无法执行的操作,root用户都能完成,所以也被称之为超级管理用户. 在系统中,每个文件.目录和进程,都归属于某一个用户 ...

  3. 详解Linux系统中的进程初始化配置文件inittab

    /etc/inittab文件描述了哪些进程开始启动并正常运行.inittab为linux初始化文件系统时init初始化程序用到的配置文件.这个文件负责设置init初始化程序初始化脚本在哪里;每个运行级 ...

  4. 详解Linux系统中的usr目录

    linux 文件结构中,有一个很神奇的目录 —— /usr.之前一直没有怎么关注过它,反正程序都是安装在里边的,也没有什么值得追根溯源的东西.直到有一天 fedora 要简化整个文件系统体系,看到讨论 ...

  5. 详解Linux系统中的守护进程

    守护进程daemon,是生存期较长的一种进程.它们常常在系统自举时启动,仅在系统关闭时才终止.因为它们没有控制终端,所以说它们是在后台运行的.UNIX系统有很多守护进程,它们执行日常事务活动. 1.系 ...

  6. 详解Linux系统中关机与重启相关命令的用法

    shutdownshutdown 以一种安全的方式关闭系统.所有登陆用户都可以看到关机信息提示,并且 login (1) 将被阻塞.可以指定立刻关机,也可以指定系统在一定的延时后关机.所有进程都将接收 ...