HCRM博客

CentOS Shadow文件密码恢复指南

CentOS shadow文件字段详解找回丢失密码

服务器密码忘了?别急着重装系统,CentOS shadow文件里藏着找回权限的钥匙。很多人一看到黑屏就慌,其实把/etc/shadow的字段掰开揉碎,十分钟就能自己把密码改回来,还能顺带给账号加一道锁。

CentOS Shadow文件密码恢复指南-图1

shadow文件到底长啥样

用root权限cat /etc/shadow,每一行就是一个人的“身份证”,用冒号切成九段。拿这条举栗:

alice:$6$R8K.mP0/$xH9E3F9bV5CXm0C0vfR7N1X4dC3aB7J0yL8nP3wW4qI5kL9mN2vO6pR8sT3uV5wX7yZ9aB2cD4eF6gH8iJ9k:19000:0:99999:7:::

第一段是登录名,第二段就是密码哈希,后面跟着日期、期限、警告天数……别被长度吓到,真正决定你能不能进系统的,只有第二段。

密码哈希的“暗号”怎么看

$6$开头,说明用的是SHA-512,当前CentOS默认算法;$1$是老掉牙的MD5,$5$是SHA-256。两段$之间那串随机字符是salt,再往后才是加密后的密码。只要把这整段替换成自己知道明文的哈希,系统就认你的新口令。

CentOS Shadow文件密码恢复指南-图2

就地生成新哈希,一条命令搞定

开机进GRUB,在linux行末加init=/bin/bash,Ctrl+X启动,系统会直接把根挂成读写。执行:

openssl passwd -6 -salt $(openssl rand -base64 6) 你的新密码

终端会吐出一串$6$xxx$yyy,复制下来,用vi打开/etc/shadow,找到对应账号,把第二段整坨删掉,贴上刚生成的值,保存退出,重启,口令就换好了。全程不用LiveCD,也不用插U盘。

日期字段别乱动,锁号只需改一个数字

第三个字段“上次修改时间”是从1970-01-01算的天数,写成0代表下次登录强制改密;第八段“账户失效日期”如果填了具体天数,到期直接踢人。想临时冻结账号,把第二段最前面加个!号,系统就会提示Login incorrect,比删文件安全得多。

CentOS Shadow文件密码恢复指南-图3

常见翻车点与急救包

有人把整行删空,结果系统找不到用户名,直接卡在PAM;还有人把salt里抄进空格,哈希长度超限,shadow立刻失效。保险做法:改之前cp /etc/shadow /etc/shadow.bak,真翻车单用户模式里mv回来就能秒恢复。记得把selinux临时setenforce 0,否则重启时可能因为上下文不对拒绝登录。

给服务器再加一把锁

密码找回来别急着收工,顺手把第四段“最小修改间隔”设成7,用户一周内不能反复改密;把第五段“最大有效期”改90,到期前系统会弹警告,逼着换口令。配合lastb看暴力爆破记录,谁的IP连续输错三次,直接扔进/etc/hosts.deny,比装花哨的WAF省事。

Shadow文件看似天书,其实就是一张带锁的表格。把字段拆开,该删的删,该换的换,丢掉的权限分分钟就能捡回来。下次再忘密码,别急着喊救兵,先摸摸/etc/shadow,自己动手,十分钟完事。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/41700.html

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
请登录后评论...
游客游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~