我幾秒鐘前剛剛運行過這個。當我意識到我開始做什麼時,我就設法做到了Ctrl。C
到目前為止,它開始遍歷的唯一目錄是/bin
.
我害怕做任何其他事情。到目前為止我意識到我不能su
再作為普通用戶使用了。
幸運的是我還有另一個根終端打開。我該怎麼辦?
答案1
/bin/ 中的大多數內容都應歸 root:root 所有,因此如果執行以下命令,您可以修復這些檔案的擁有權:
chown root:root -R /bin/
您可能還想確保 /bin/su 上的 setuid 位元正確設置,您可以使用以下命令修復此問題:
chmod 4755 /bin/su
答案2
紅帽用戶:
chown 0:0 /bin/rpm && rpm -qa | xargs rpm --setugids
Debian/Ubuntu 用戶:
chown 0:0 /bin/* /usr/bin/*
chown daemon:daemon /usr/bin/at
chown 0:utmp /usr/bin/screen
chmod 02755 /usr/bin/screen
chmod u+s /bin/fusermount /bin/mount /bin/su /bin/mount
chmod u+s /usr/bin/sudo /usr/bin/passwd
screen
當螢幕運作時,至少執行此操作兩次:
dpkg --get-selections | awk '{ if ($2 == "install") print $1}' \
| xargs apt-get install --reinstall --
支付非常密切注意輸出,因為如果它抱怨某些內容具有錯誤的權限,您應該在另一個螢幕視窗上修復它。
螢幕上的速成課程:
Control+A - command key
Control+A a - emit a control+A
Control+A n - next "screen"
Control+A c - create "screen"
Solaris 用戶:
你完蛋了。
pkgchk -R / -f -a
將重置所有權限,但 setuid-ness 仍然會被破壞。使用備份或另一台 Solaris 電腦尋找 setuid/setgid 腳本和檔案並手動修復它們。
關於備份的重要事項
是你可以恢復它們,而不是你拿走它們。
其他人給了你備份的建議,但我想補充一點,你應該測試它們。如果你使用的是unixish系統,有沒有任何理由您無法定期將文件轉儲到另一台電腦上並確保一切正常。
答案3
請注意,任何受影響的二進位檔案上的 set-uid 標誌也可能已被刪除;這是 chown 的安全功能。檢查其他一些系統哪些二進位具有 set-uid 或 set-gid 標誌,並確保也在您的二進位檔案上設定它們。
答案4
如果這是 debian 系統,我會 aptitude 重新安裝所有內容。