CentOS8中恢復根目錄為預設許可權
本文中介紹如何從意外執行
# chmod -R 777 /
,在
8作業系統上恢復預設許可權。 |
本文中我們將故意在一個測試伺服器上執行
chmod 777
,並嘗試透過執行兩個命令進行恢復。就是如下兩條命令:
# rpm --setugids -a # rpm --setperms -a
當再測試機上面執行下面命令之後,所有檔案許可權都會變成777。
[root@localhost ~]# chmod -R 777 /
列出根目錄下面的內容:
[root@localhost ~]# ls -al /
下面是SSH相關的重要檔案,需要有正確的許可權和所有權。但是,由於執行chmod 777,以下所有檔案都具有錯誤的許可權。
[root@localhost ~]# ll /etc/ssh/ total 588 -rwxrwxrwx. 1 root root 563386 May 11 2019 moduli -rwxrwxrwx. 1 root root 1727 May 11 2019 ssh_config drwxrwxrwx. 2 root root 28 Dec 29 2019 ssh_config.d -rwxrwxrwx. 1 root root 4444 May 11 2019 sshd_config -rwxrwxrwx. 1 root ssh_keys 480 Dec 29 2019 ssh_host_ecdsa_key -rwxrwxrwx. 1 root root 162 Dec 29 2019 ssh_host_ecdsa_key.pub -rwxrwxrwx. 1 root ssh_keys 387 Dec 29 2019 ssh_host_ed25519_key -rwxrwxrwx. 1 root root 82 Dec 29 2019 ssh_host_ed25519_key.pub -rwxrwxrwx. 1 root ssh_keys 1799 Dec 29 2019 ssh_host_rsa_key -rwxrwxrwx. 1 root root 382 Dec 29 2019 ssh_host_rsa_key.pub
下面嘗試透過SSH遠端登入伺服器。由於主機金鑰檔案許可權都變成了777了,所以登入會被拒絕。
下面再終端中ssh登入本機出現下面問題:
下面使用X
登入伺服器,同樣不能登入成功:
[C:\~]$ ssh root@192.168.43.131 Connecting to 192.168.43.131:22... Connection established. To escape to local shell, press 'Ctrl+Alt+]'. Connection closing...Socket close. Connection closed by foreign host. Disconnected from remote host(192.168.43.131:22) at 10:28:06. Type `help' to learn how to use Xshell prompt.
需要恢復許可權,我們需要載入Centos8的系統映象,開機啟動光碟映象:
在VMware Workstation中,載入光碟,並開機器用。開機按F2,進入BIOS,切換到Boot選項卡。將CD-ROM Drive移動到Hard Drive上面。按F10儲存並重啟。
選擇Troubleshooting,然後選擇進入救援模式。
當進入下面介面時,選擇1,直接進入shell介面。
使用
chroot
命令將
/mnt/sysroot
切換為根目錄:
sh-4.4# chroot /mnt/sysroot
使用以下兩個命令執行,以恢復所有檔案,目錄和配置的許可權。執行此命令時,它將引發許可權被拒絕錯誤,並且無法訪問錯誤。只是忽略錯誤。
# rpm --setugids -a # rpm --setperms -a
引數說明:
-
--setugids
- 設定RPM包檔案的使用者/組所有權。 -
--setperms
- 設定RPM包檔案的許可權。 -
-a
- 適用於所有已安裝的RPM軟體包。
完成操作之後,退出,並重啟:
# exit # reboot
下面登入系統之後,看一下根目錄的許可權是否恢復正常:
# ls -l /
執行ssh登入,發現不能登入。使用
netstat -tlunp
發現ssh埠沒有監聽中,使用
systemctl status sshd
發現服務沒有啟動,啟動sshd服務時發現不能啟動,下面查詢原因:
發現金鑰檔案的許可權還是777,沒有還原:
下面設定金鑰檔案許可權:
# chmod 644 /etc/ssh/ssh_config # chmod 600 /etc/ssh/sshd_config # chmod 640 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key # chmod 644 /etc/ssh/ssh_host_rsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ed25519_key.pub
下面再次啟動sshd試一下:
# systemctl enable sshd --now # netstat -tlunp
可以看到啟動成功了。ssh遠端登入試一下,看到登入成功了。
就這樣,我們已經成功還原了已安裝的RPM軟體包的許可權並恢復了伺服器。切勿在任何檔案系統或配置上使用chmod 777。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524109/viewspace-2894394/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- RAC安裝目錄許可權快速恢復
- Oracle 目錄許可權丟失故障恢復Oracle
- Lnmp 網站根目錄檔案許可權LNMP網站
- umask 和 新建檔案、目錄的預設許可權
- Vue設定許可權列表目錄Vue
- Linux 目錄許可權研究Linux
- 登入失敗,提示“資料庫目錄許可權寫入不足”,可以操作設定資料庫目錄許可權為 777。資料庫
- 帆軟——目錄及許可權配置
- 圖文介紹Linux chmod目錄許可權Linux
- ubuntu 安裝onethink沒有目錄許可權Ubuntu
- linux許可權管理,例項: 建立共享目錄Linux
- Samba共享目錄的多使用者許可權設定案例Samba
- 如何備份及恢復Linux檔案許可權Linux
- Linux更改檔案及目錄許可權問題Linux
- Linux目錄與檔案的許可權意義Linux
- linux為檔案/目錄分配使用者組/許可權(chown chgrp chmod)Linux
- 網站提示:”會話目錄寫入許可權不足“網站會話
- LINUX SSH互信與使用者家目錄許可權Linux
- Linux程式開發中如何判斷目錄是否為根目錄?Linux
- PbootCMS網站提示:”會話目錄寫入許可權不足“boot網站會話
- 【自然框架】許可權的視訊演示(二):許可權到欄位、許可權到記錄框架
- 許可權設計
- 檔案目錄許可權操作
- 選單許可權和按鈕許可權設定
- Linux系統下如何修改檔案或目錄的許可權?Linux
- 更新完 zsh 說我目錄許可權問題的解決
- Oracle軟體許可權修復Oracle
- 在Linux中,檔案和目錄的許可權有何作用以及如何修改?Linux
- 許可權系統:許可權應用服務設計
- 修改 VOLUME 自動建立預設許可權問題
- 如何在Mac電腦中修復磁碟許可權?Mac
- linux學習day02_linux檔案許可權以及目錄配置Linux
- Linux目錄許可權屬性有哪些?linux運維學習技能Linux運維
- 許可權系統:許可權應用服務設計Tu
- 許可權系統:6個許可權概念模型設計模型
- 許可權之選單許可權
- 帝國CMS提示建立目錄不成功,請檢查目錄許可權的解決辦法
- linux 檔案許可權 s 許可權和 t 許可權解析Linux