某次遇到须要进入系统的单用户模式进行破密操做,结果却显示以下:web
根据提示:Permission denied(缺乏权限)app
此时查看/usr/bin/passwd 权限:webapp
正常状况下的权限应该是以下:spa
[root@web ~]# ls -l /usr/bin/passwd -rwsr-xr-x 1 root root 27856 Aug 9 09:39 /usr/bin/passwd [root@web ~]#
发现权限异常,须要修复命令的权限:code
chown root:root /usr/bin/passwd chmod u=rwx,go=rx,u+s /usr/bin/passwd
再次出现错误提示:blog
上面咱们执行的chmod命令,其底层实现是chattr命令,用此命的功能更为强大,甚至能够锁定文件,即便root用户也操做不了此文件。文档
chattr是用来更改文件属性,lsattr可用来查看文件的属性,执行命令lsattr /webapps/.usr.ini即可以看到当前文件的属性;it
能够发现当前文件有个i属性,查阅命令帮助文档能够看到有i属性的文件是不能修改的,更不可被删除,即便是root用户也不可。io
既然知道了文件不能删除的缘由是加了i属性,因此相应的解决方案就是把文件的i属性去除,而后再删除。class
lsattr查看相关命令和文件的文件属性:
chattr -i 去除锁定的文件属性
尝试再次修改权限,无报错说明执行成功,若有错误须要检查以前的操做是否有遗漏:
chown root:root /usr/bin/passwd
chmod u=rwx,go=rx,u+s /usr/bin/passwd
再次尝试破解密码,执行成功,若有错误须要检查以前的操做是否有遗漏:
echo “123456” | passwd --stdin root //修改密码
touch /.autorelabel //让SELINUX生效,这一步必定不能少,否则不能重启
重启,输入破解后的密码能够正常进入系统:
exit
reboot