Chmod
chmod -R 777 /bin
可以恢復嗎?
我知道這
chmod -R 777 /
是極具破壞性的,而且我知道chmod -R 000 /bin
可以通過使用額外的磁碟來恢復 a ,但我想知道chmod -R 777 /bin
.如果我有一個 root shell,但沒有從健康的 VM 掛載額外的磁碟,我可以恢復這個系統嗎?
(這個問題是為了學習目的,因為實際的盒子不是我的,也不是錯誤的,而且盒子已經計劃重建。)
正如您連結的響應中所爭論的那樣,這取決於您對“恢復”的定義(即,在系統上的任何人可能更改二進製文件之後,您是否仍然信任二進製文件,這對於您的私人可能是“我猜我沒問題”台式機,但在多使用者公司係統上要少得多)。
看看我的盒子,
/bin
有很多不是 0755 或符號連結的文件:ls -l /bin/ | grep -v '^-rwxr-xr-x' | grep -v '^l' | wc -l 35
這主要是因為它們是 setgid 或 setuid。因此,原則
chmod 0755 /bin/*
上,如果您仍然具有 root 訪問權限,您可以手動修復這 30、40 個二進製文件的權限。(su
並且sudo
在恢復其適當權限之前將無法工作。)但是出於實際目的,這仍然意味著您需要一個“乾淨”的機器來進行比較,但您不需要安裝它的驅動器。
(想想看,我認為二進製文件的錯誤權限不會阻止包管理器工作,因此您可以嘗試重新安裝每個包含 in 的包
/bin
,但可能大多數東西都依賴於 in/bin
,所以您最終可能會刪除並重新安裝所有軟體包。)