Linux的密码分为用户密码及grub启动密码,让我分别来讲解一下.
创新互联-专业网站定制、快速模板网站建设、高性价比尖山网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式尖山网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖尖山地区。费用合理售后完善,10余年实体公司更值得信赖。
用户密码破解过程:
开机来到grub系统引导界面
clip_image002
倒数结束前按”e”键进入下面画面
clip_image004
再次按”e”键进入下层界面
clip_image006
选中间一行然后再次按”e”键进入编辑模式,在后面输入 single 后回车确认
clip_image008
回到上层界面后第二行后面多了single 有了他我们就能使用单用户模式启动系统了,好了按”b”键继续启动系统
clip_image010
进入单用户模式后我们就能使用编辑器来修改用户密码文件或是修改shandow密码信息文件了,用vi编辑器打开passwd文件(这里就不讲vi编辑器的使用了)
clip_image012
去掉对应用户的密码标志位(注意是两个冒号间的x两边的”:”还是要保留的,然后后存盘退出
clip_image014
或者也可以修改shadow密码信息文件
clip_image016
修改对应用户的密码信息位(去掉红框中的字符信息,同样注意保留两边的”:”)然后存盘就可以存盘退出了
clip_image018
退出后用reboot命令重启系统,此时刚才更改的root用户已经就成空密码了,再次进入系统后记得用命令”passwd 用户名”修改用户密码,
这里以字符串123456为例子,它的md5密文值为:e10adc3949ba59abbe56e057f20f883e\x0d\x0a这里以1.txt为需要被加密的文件。\x0d\x0a\x0d\x0a一、用oppnsslmd5加密字符串和文件的方法。\x0d\x0a1.oppnsslmd5加密字符串的方法\x0d\x0aa.手动输入命令及过程如下:\x0d\x0a#openssl//在终端中输入openssl后回车。\x0d\x0aOpenSSLmd5//输入md5后回车\x0d\x0a123456//接着输入123456,不要输入回车。然后按3次ctrl+d。\x0d\x0a123456e10adc3949ba59abbe56e057f20f883e//123456后面的就是密文了\x0d\x0a解释:为何在输入123456后不回车呢?\x0d\x0a是因为openssl默认会把回车符当做要加密的字符串中的一个字符,所以得到的结果不同。如果你输入123456后回车,在按2次ctrl+d。得到的结果是:\x0d\x0aOpenSSLmd5\x0d\x0a123456\x0d\x0af447b20a7fcbf53a5d5be013ea0b15af//因为openssl不忽略回车符导致的\x0d\x0ab.或者直接用管道命令\x0d\x0a#echo-n123456|opensslmd5//必须要有-n参数,否则就不是这个结果了。\x0d\x0ae10adc3949ba59abbe56e057f20f883e\x0d\x0a解释:为何要加-n这个参数?\x0d\x0a-n就表示不输入回车符,这样才能得到正确的结果。如果你不加-n,那么结果和前面说的一样为:\x0d\x0af447b20a7fcbf53a5d5be013ea0b15af//因为openssl不忽略回车符导致的\x0d\x0a2.用openssl加密文件。\x0d\x0a#opensslmd5-in1.txt\x0d\x0a\x0d\x0a##################################################3\x0d\x0aOpenssl其他相关加密的命令参数:引自:实用命令:利用openssl进行BASE64编码解码、md5/sha1摘要、AES/DES3加密解密收藏\x0d\x0a一.利用openssl命令进行BASE64编码解码(base64encode/decode)\x0d\x0a1.BASE64编码命令\x0d\x0a对字符串‘abc’进行base64编码:\x0d\x0a#echoabc|opensslbase64\x0d\x0aYWJjCg==(编码结果)\x0d\x0a如果对一个文件进行base64编码(文件名t.txt):\x0d\x0a#opensslbase64-int.txt\x0d\x0a2.BASE64解码命令\x0d\x0a求base64后的字符串‘YWJjCg==’的原文:\x0d\x0a#echoYWJjCg==|opensslbase64-d\x0d\x0aabc(解码结果)\x0d\x0a如果对一个文件进行base64解码(文件名t.base64):\x0d\x0a#opensslbase64-d-int.base64\x0d\x0a二.利用openssl命令进行md5/sha1摘要(digest)\x0d\x0a1.对字符串‘abc’进行md5摘要计算:echoabc|opensslmd5\x0d\x0a若对某文件进行md5摘要计算:opensslmd5-int.txt\x0d\x0a2.对字符串‘abc’进行sha1摘要计算:echoabc|opensslsha1\x0d\x0a若对某文件进行sha1摘要计算:opensslsha1-int.txt\x0d\x0a三.利用openssl命令进行AES/DES3加密解密(AES/DES3encrypt/decrypt)\x0d\x0a对字符串‘abc’进行aes加密,使用密钥123,输出结果以base64编码格式给出:\x0d\x0a#echoabc|opensslaes-128-cbc-k123-base64\x0d\x0aU2FsdGVkX18ynIbzARm15nG/JA2dhN4mtiotwD7jt4g=(结果)\x0d\x0a对以上结果进行解密处理:\x0d\x0a#echoU2FsdGVkX18ynIbzARm15nG/JA2dhN4mtiotwD7jt4g=|opensslaes-128-cbc-d-k123-base64\x0d\x0aabc(结果)\x0d\x0a若要从文件里取原文(密文)进行加密(解密),只要指定-in参数指向文件名就可以了。\x0d\x0a进行des3加解密,只要把命令中的aes-128-cbc换成des3就可以了。\x0d\x0a注:只要利用opensslhelp就可以看到更多的安全算法了。\x0d\x0a###############################################\x0d\x0a\x0d\x0a二、利用php的md5函数加密字符串\x0d\x0a#toucha.php//创建a.php文件\x0d\x0a#via.php//用vi编辑a.php文件\x0d\x0a将输入进去后保存\x0d\x0a#phpa.php//运行a.php文件\x0d\x0a显示:e10adc3949ba59abbe56e057f20f883e\x0d\x0a三、利用md5sum命令\x0d\x0aA.在linux或Unix上,md5sum是用来计算和校验文件报文摘要的工具程序。一般来说,安装了Linux后,就会有md5sum这个工具,直接在命令行终端直接运行。可以用下面的命令来获取md5sum命令帮助manmd5sum\x0d\x0a#md5sum_help\x0d\x0a有个提示:“WithnoFILE,orwhenFILEis-,readstandardinput.”翻译过来就是“如果没有输入文件选项或者文件选项为-,则从标砖读取输入内容”,即可以直接从键盘读取字符串来加密。\x0d\x0a利用md5sum加密字符串的方法\x0d\x0a#md5sum//然后回车\x0d\x0a123456//输入123456.然后按两次ctrl+d.\x0d\x0a显示:\x0d\x0a123456e10adc3949ba59abbe56e057f20f883e红色代表加密后的值\x0d\x0a还可以用管道命令:\x0d\x0a#echo-n'123123'|md5sum\x0d\x0a\x0d\x0a或者写成md5加密脚本,名字叫md5.sh,\x0d\x0a将以下内容复制进脚本里:\x0d\x0a#!/bin/bash\x0d\x0aecho-n$1|md5sum|awk'{print$1}'\x0d\x0a\x0d\x0a保存后,给脚本执行权限。\x0d\x0a#shmd5.sh123456\x0d\x0a显示:e10adc3949ba59abbe56e057f20f883e\x0d\x0aB.其实也可以将文本放入文本文件,然后用md5sum加密改文本,也可以得到字符串加密的值。过程如下:\x0d\x0a#toucha.txt\x0d\x0a#echo-n123456a.txt//将123456写进文本文件,不能丢了_n参数,避免回车符干扰\x0d\x0a#md5suma.txt\x0d\x0a显示:e10adc3949ba59abbe56e057f20f883ea.txt\x0d\x0a\x0d\x0actrl+d有两个含义:\x0d\x0a一是向程序发送文件输入结束符EOF。\x0d\x0a二是向程序发送exit退出指令。程序收到信号后具体动作是结束输入、然后等待,还是直接退出,那就要看该程序捕获信号后是如何操作的了。\x0d\x0amd5sum属于第一个含义。两次strl+d了,第一次读取EOF指令,再次捕获就会当成exit指令。而shell一类的程序,会直接把ctrl+d解析为退出指令。
openssl是可以加解密,但是你的要求是创建用户并输入密码,据我所知,linux的passwd命令好象只能用键盘交互,没法用脚本预设的。有个可用的法是:用useradd命令创建完用户后,再用脚本修改/etc/shadow(这个文件是真正存放用户密码的地方)里的密码段,这个密码段是用hash算法加密的,好象是sha256还是sha512之类的吧,例如'000000',加密后是$6$7z4nJy/C69Wj$A65GjO61mBtErCbGNxIt1IUumPs/YUmeu1Zb7jElxNU/5TNmIDNx/YY0cA5CBBlgbjKyQlNpyofDL2k0UtKft1/etc/shadow的权限只有root用户可以修改,因此这个脚本要由root来执行。
GNU Privacy Guard(GnuPG或GPG)是一种加密软件,它是PGP加密软件的满足GPL的替代物。GnuPG依照由IETF订定的OpenPGP技术标准设计。GnuPG用于加密、数字签名及产生非对称钥匙对的软件。
首先安装GPG
sudo apt install gnupg
gpg --gen-key
Real name: 输入用户名
Email address: 输入邮箱
Change (N)ame, (E)mail, or (O)kay/(Q)uit? O
最后查看
gpg --list-keys