Linux系統chmod 777 誤操作目錄權限 - 恢復方法


小白操作Linux,手抖導致誤修改了系統文件和目錄權限,導致系統宕機的修復。

chmod 777 -R / 
chmod 777 -R / test

有的是真不懂,執行了上面的第一條命令,有的是懂,但是操作太快或者粗心大意,或者有亂敲空格的惡習,諸如此類... 不勝枚舉,總之闖禍了。

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

修復的方法如下:

# 1、通過一台權限正常的 Linux(最好內核版本和故障服務器相同) 通過命令:
getfacl -R / >systemp.bak

# 將這個正常系統的/目錄下所有文件的權限都備份保存在 systemp.bak 中。

# 2、如果異常服務器未重啟等操作並且連接未端,可以使用 scp 命令將正常的備份文件傳至異常服務器中,命令如下:
scp root@目標機器 IP:system.bak 文件路徑 本地存放 system.bak 路徑

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

# 3、在異常服務器中執行命令:
setfacl --restore=systemp.bak

# 即可將現在的系統權限恢復成和正常系統一樣。

4、reboot 重啟系統
# 如果執行了上述過程,仍然無法通過ssh遠程該服務器,那就看下系統日志message

 

比如報錯:客戶端:
[c:\~]$ ssh 10.68.215.215 29992

Connecting to 10.68.215.215:29992...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.

Connection closed by foreign host.

Disconnected from remote host(10.68.215.215:29992) at 13:10:18.

Type `help' to learn how to use Xshell prompt.


重啟sshd服務報錯
root@bt:~# /etc/init.d/ssh start
* Starting OpenBSD Secure Shell server sshd
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_dsa_key


服務的message報錯(message日志和重啟ssh服務都提示 )
/etc/ssh/ssh_host_dsa_key
etc/ssh/ssh_host_rsa_key
文件權限問題,那么請參考正常系統的文件權限,將上述命令目錄下面的文件權限調整和正常系統一樣的權限即可:

# CentOS7.x

 

# CentOS6.x

 


免責聲明!

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



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