1. 程式人生 > >Linux系統chmod誤操作目錄許可權恢復方法

Linux系統chmod誤操作目錄許可權恢復方法

部門剛上線了一個新系統,發現一個 BUG,於是開發直接上機器除錯,他認為是檔案目錄許可權不夠的問題,於是想用 chmod -R 777 先給這個程式目錄全部許可權試試。

結果,那傢伙手一抖命令敲成了:

1 chmod777-R/*

而且想都不想就回車了,然後彈出一堆 /proc/*** 沒許可權更改目錄許可權的錯誤提示,我一看就冷了一大截。。。裡面讓他 ctrl +C 終止命令。

不出所想,系統檔案許可權已經大部分都變成了"777"!下面是解決方法:

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

1、通過一臺許可權正常的 Linux(最好核心版本和故障伺服器相同) 通過 getfacl -R / >systemp.bak 將這個正常系統的/目錄下所有檔案的許可權都備份儲存在 systemp.bak 中。

2、如果異常伺服器未重啟等操作並且連線未端,可以使用 scp 命令將正常的備份檔案傳至異常伺服器中,命令如下:

scp [email protected]

目標機器 IP:system.bak 檔案路徑  本地存放 system.bak 路徑

也可用其他方法把 systemp.bak 移動到異常伺服器中。

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

4、reboot 重啟系統