linux 系統 chmod 誤操作權限修復

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

假設執行了 chmod -R 777 / ,常見會導致的問題有: a、密碼正確,但是無法登陸系統 b、重啓服務器後啓動卡住 c、服務啓動失敗,如 sshd 可以使用命令 rpm -Va 查看文件權限是否被修改:

修復的方法如下: 1、通過一臺權限正常的Linux(最好內核版本和故障服務器相同) 通過 getfacl -R / >filename.bak 將這個正常系統的 /目錄下所有文件的權限都備份保存在 filename.bak 中:

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

2、拷貝 filename.bak 文件至權限異常服務器,由於很多系統默認目錄文件權限不正確,如 sftp、scp 等方式連接會異常,服務器未重啓情況下,只要能進入系統則可以通過 wget 命令下載文件;或者密碼認證出錯時進入單用戶模式啓動 network 服務下載文件至異常服務器 雲服務器進入單用戶教程:http://tss.sng.com/knowledge/page/posts/view#/post/5671

  1. # /etc/init.d/network start
  2. # wget x.x.x.x/filename.bak

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

  1. # setfacl --restore=filename.bak

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章