今天對伺服器進行例行維護的時候,剛剛完成了文件的上載,順手執行了

1
sudo chown www-data:www-data ./ -R

雖然看起來沒什麼問題,但是因為失誤,少打了一個 點 號,於是變成了

1
sudo chown www-data:www-data / -R
敲下 return 之後,我感覺執行時間明顯比平時要長,看了一眼命令,迅速 ctrl + c 中斷了,但是已經造成了不可挽回的損失——當我試圖執行 sudo 恢復幾個重要位置的所有者為 root 時,得到如下錯誤:

1
sudo must be owned by uid 0 and have the setuid bit set

在 Google 搜尋得知必須把 sudo 的 owner 設置為 uid 0,然而因為平日我使用 rootless 權限的用戶,而 Ubuntu 下,root 用戶默認根本沒有設置密碼,包括 su 在內的切換到 root 身份的可能性全部斷絕,因此不得不重灌系統。

在重灌之前,使用 tar 對包括 nginx 設定(/etc/nginx)、 mysql 數據文件(/var/lib/mysql)、網站文件(/usr/share/nginx)在內的多個檔案夾進行壓縮然後藉助 dropbox-uploader 上載到 dropbox,然後在另一家 IDC 新開了一臺 VPS,把備份覆蓋到相應位置,全部網站完美復活!