一次在CentOS系统单用户模式下使用passwd命令破密失败的案例

一次在CentOS系统单用户模式下使用passwd命令破密失败的案例

admin
2022-10-31 / 0 评论 / 204 阅读 / 正在检测是否收录...

某次遇到需要进入系统的单用户模式进行破密操作,结果却显示如下:

l9wmfx51.png

根据提示:Permission denied(缺少权限)

此时查看/usr/bin/passwd 权限:

l9wmg31h.png

正常情况下的权限应该是如下:


[root@web ~]# ls -l /usr/bin/passwd
-rwsr-xr-x  root root  Aug   : /usr/bin/passwd
[root@web ~]#

发现权限异常,需要修复命令的权限:


chown root:root /usr/bin/passwd
 
chmod u=rwx,go=rx,u+s /usr/bin/passwd

再次出现错误提示:

l9wmgzrc.png

原因&解决方法:
上面我们执行的chmod命令,其底层实现是chattr命令,用此命的功能更为强大,甚至可以锁定文件,即使root用户也操作不了此文件。

chattr是用来更改文件属性,lsattr可用来查看文件的属性,执行命令lsattr /webapps/.usr.ini便可以看到当前文件的属性;

可以发现当前文件有个i属性,查阅命令帮助文档可以看到有i属性的文件是不能修改的,更不可被删除,即使是root用户也不可。

既然知道了文件不能删除的原因是加了i属性,所以相应的解决方案就是把文件的i属性去除,然后再删除。

lsattr查看相关命令和文件的文件属性:

l9wmhae0.png

chattr -i 去除锁定的文件属性

l9wmhfps.png

尝试再次修改权限,无报错说明执行成功,如有错误需要检查之前的操作是否有遗漏:

chown root:root /usr/bin/passwd

chmod u=rwx,go=rx,u+s /usr/bin/passwd

再次尝试破解密码,执行成功,如有错误需要检查之前的操作是否有遗漏:

echo “123456” | passwd --stdin root     //修改密码
touch /.autorelabel      

//让SELINUX生效,这一步一定不能少,不然不能重启

0

评论 (0)

取消