Linux

不小心以 root 身份執行“chown www-data:www-data / -R”

  • August 20, 2019

我只是在幾秒鐘前執行了這個。我設法做到了Ctrl——C當我意識到我開始做的事情時。

到目前為止,它開始通過的唯一目錄是/bin.

我害怕做其他事情。到目前為止,我意識到我不能再su像普通使用者一樣使用了。

幸運的是,我還有另一個根終端打開。我該怎麼辦?

/bin/ 中的大多數內容都應該歸 root:root 所有,因此如果您執行以下命令,您可以修復這些文件的所有權:

chown root:root -R /bin/ 

您可能還需要確保在 /bin/su 上正確設置了 setuid 位,您可以使用以下方法進行修復:

chmod 4755 /bin/su

紅帽使用者:

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 系統,則沒有任何理由不能定期將文件轉儲到另一台機器上並確保一切正常。

引用自:https://serverfault.com/questions/105957