一次在CentOS系統單用戶模式下使用passwd命令破密失敗的案例


某次遇到需要進入系統的單用戶模式進行破密操作,結果卻顯示如下:

 

 根據提示:Permission denied(缺少權限)

 

此時查看/usr/bin/passwd 權限:

正常情況下的權限應該是如下:

[root@web ~]# ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 27856 Aug  9 09:39 /usr/bin/passwd
[root@web ~]#

 

發現權限異常,需要修復命令的權限:

chown root:root /usr/bin/passwd

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

再次出現錯誤提示:

 

 

原因&解決方法:

上面我們執行的chmod命令,其底層實現是chattr命令,用此命的功能更為強大,甚至可以鎖定文件,即使root用戶也操作不了此文件。

 

chattr是用來更改文件屬性,lsattr可用來查看文件的屬性,執行命令lsattr /webapps/.usr.ini便可以看到當前文件的屬性;

 

可以發現當前文件有個i屬性,查閱命令幫助文檔可以看到有i屬性的文件是不能修改的,更不可被刪除,即使是root用戶也不可。

 

既然知道了文件不能刪除的原因是加了i屬性,所以相應的解決方案就是把文件的i屬性去除,然后再刪除。

 

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

 

 


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM