1. 程式人生 > >linux 系統 chmod 誤操作權限異常修復方式

linux 系統 chmod 誤操作權限異常修復方式

oot 文件 修復 備份 使用命令 方式 誤操作 系統默認 修改

Linux 系統中如果意外誤操作將根目錄或系統默認關鍵目錄權限批量設置,比如 chmod -R 777 / ,系統中的大部分服務以及命令將無法使用,這時候可以通過系統自帶的 getfacl 和 setfacl 命令來拷貝和還原系統權限,若是其他系統目錄被誤操作,同樣可行。

假設執行了 chmod -R 777 / ,常見會導致的問題有:
a、密碼正確,但是無法登陸系統
b、重啟服務器後啟動卡住
c、服務啟動失敗,如 sshd
可以使用命令 rpm -Va 查看文件權限是否被修改:
修復的方法如下:
1、通過一臺權限正常的Linux(最好內核版本和故障服務器相同) 通過 getfacl -R / >filename.bak 將這個正常系統的 /目錄下所有文件的權限都備份保存在 filename.bak 中:

root@BJ-CentOS7 ~ # getfacl -R / > filename.bak

2、拷貝 filename.bak 文件至權限異常服務器,由於很多系統默認目錄文件權限不正確,如 sftp、scp 等方式連接會異常,服務器未重啟情況下,只要能進入系統則可以通過 wget 命令下載文件;或者密碼認證出錯時進入單用戶模式啟動 network 服務下載文件至異常服務器
#/etc/init.d/network start
#wget x.x.x.x/filename.bak

3、在異常服務器中執行命令 setfacl --restore=filename.bak 即可將現在的系統權限恢復成和正常系統一樣

#setfacl --restore=filename.bak

等待命令執行完畢,系統目錄文件權限修正後可驗證問題是否解決

linux 系統 chmod 誤操作權限異常修復方式