linux系统管理之grub引导

linux系统管理之grub引导,第1张

什么是GRUB

GNU GRUB 是一个多重 *** 作 系统 启动管理器。GNU GRUB 是由GRUB(GRand Unified Bootloader) 派生而来。GRUB 最初由Erich Stefan Boleyn 设计和应用;
系统启动引导管理器,是在计算机启动后运行的第一个程序,他是用来负责加载、传输控制到 *** 作系统的内核,一旦把内核挂载,系统引导管理器的任务就算完成退出,系统引导的其它部份,比如系统的初始化及启动过程则完全由内核来控制完成;

Linux 中GRUB的配置文件

grub的配置文件位于/boot/grub/grubconf其内容如下。

default=0 //默认启动的内核或者说默认启动的 *** 作系统,0表示的是第一个内核或者 *** 作系统,依次往后排(title所指定的那一项,第一个title是0,第二个是1,依次)
timeout=5 //默认的超时时间,这里定义的是5秒,如果5秒没有选择,默认启动第一个内核或者说是第一个 *** 作系统
splashimage=(hd0,0)/grub/splashxpmgz //指定grub的背景,因为grub是系统开机后,运行系统所必须运行的第一个程序,所以,系统所自带的文件系统还没有被挂载,好在grub可以直接访问磁盘文件,grub所识别的硬盘跟linux系统的不太一样,grub认为,所有的磁盘都是hd的,而系统则不是。所以这里是(hd0,0),第一个0表示的是第一块硬盘,第二个0表示的是第一个分区。如果要引用磁盘设备,要用括号括起来,所以这里有一个括号。
hiddenmenu //隐藏grub菜单,如果有这一项,我们将看不到grub的菜单,只能看到grub的背景,然后上面出现了一个 please any key to enter the menu 下面是 Booting <default=0指定的,默认是第一个title的内容> in <timeout=N 超时时间设置> 这样子。具体的看下面的图
![]( >

一般是先加盐再用不可逆加密算法加密密码的,常见的有:sha1 sha256 md5等。

作用:这些加密算法,只能加密,不能逆向解密,所以使用这些算法。即时你的数据库被拖库,得到的人,也无法知道用户密码。

为什么加盐

举例

在注册时,

假设你的密码是1234,一般服务器会加一个盐(随便一个乱打的字符串),和你的密码加在一起,1234和efnU(@#H!JKNF得到1234efnU(@#H!JKNF这个值,然后再进行加密(这里我用md5)得到 91dc02c1fc2ce2252969e6b86173aa78,于是数据库里你的密码就变为了91dc02c1fc2ce2252969e6b86173aa78

登入时,

你输入1234, 然后服务器用和注册相同的步骤进行加密,得到加密后的值,91dc02c1fc2ce2252969e6b86173aa78,将这个值与数据库的加密值比对,如果正确则登入。

linux下查询文件的md5值:md5sum
xxxisomd5
md5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。md5全称是报文摘要算法(message-digest
algorithm
5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的“指纹”(或称“报文摘要”),不同的文件产生相
同的报文摘要的可能性是非常非常之小的。
在linux或unix上,md5sum是用来计算和校验文件报文摘要的工具程序。一般来说,安装了linux后,就会有md5sum这个工具,直接在命令行终端直接运行。可以用下面的命令来获取md5sum命令帮助
man
md5sum
使用md5sum来产生指纹(报文摘要)命令如下:md5sum
file
>
filemd5
或者
md5sum
file
>>filemd5
注:
>

>>
的区别在于:
>
表示把由file文件产生的摘要重定向到文件filemd5,但是会覆盖filemd5里面的内容;而
>>
则将输出的摘要附加到filemd5文件的后面。也可以把多个文件的报文摘要输出到一个md5文件中,这要使用通配符,比如某目录下有几个iso文
件,要把这几个iso文件的摘要输出到isomd5文件中,命令如下:md5sum
iso
>
isomd5
使用md5报文摘要验证文件,方法有二:
a、把下载的文件file和该文件的filemd5报文摘要文件放在同一个目录下,然后用如下命令进行验证:md5sum
-c
filemd5
然后如果验证成功,则会输出:正确;
b、下载了文件file,然后运行下面的命令:md5sum
file
命令会输出一个md5的报文摘要,然后把这个报文摘要直接与filemd5中的内容比较,如果一样,就说明验证正确。

相关库函数如下:
#include <openssl/md5h>
unsigned char MD5(const unsigned char d, unsigned long n,unsigned char md);
int MD5_Init(MD5_CTX c);
int MD5_Update(MD5_CTX c, const void data,unsigned long len);
int MD5_Final(unsigned char md, MD5_CTX c);

//////////////////////////////////////////////////
//
首先你要明白两点:
1批处理是靠cmdexe解释运行的
2md5不是加密算法而是“信息摘要算法”,不管多大的文件或者多长的字符串只返回16或32位的hash信息
所以md5不可逆,而且不是严格意义的加密算法要说加密的话也应该是rsa,des这些IEEE认证的算法的
你的问题,可以写个exe,把加密后的bat作为资源捆绑进exe中,然后由exe负责解密运行,但这样得不偿失,成本太高,还不如直接写exe来的快
如果你非要加密想来想去只有一个比较经济可行的方法,用winrar把批处理做成一个可执行的解压文件,就是exe格式的rar包,然后给这个exe文件加个强壳,这样可以在一定程度上保护起来,但是内行还是可以解出来的
最后,共享是一种美德,虽然我基本可以肯定你哪个所谓的bat技术含量不会太高。。
/////////////////////////////////////////////


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/13373970.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-24
下一篇 2023-07-24

发表评论

登录后才能评论

评论列表(0条)

保存