意外地以 root 身份运行“chown www-data:www-data / -R”

Wil*_*ill 26 linux ubuntu root chown

几秒钟前我刚刚运行了这个。我设法做到了Ctrl-C一旦我意识到我开始做什么。

到目前为止,它开始通过的唯一目录是/bin.

我害怕做别的事情。到目前为止,我意识到我不能再su作为普通用户使用了。

幸运的是,我还有另一个根终端打开。我该怎么办?

geo*_*car 36

红帽用户:

chown 0:0 /bin/rpm && rpm -qa | xargs rpm --setugids
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

在 screen 运行时至少执行两次:

dpkg --get-selections | awk '{ if ($2 == "install") print $1}' \
    | xargs apt-get install --reinstall --
Run Code Online (Sandbox Code Playgroud)

非常密切关注的输出,因为如果它抱怨的东西有错误的权限,则应将其固定到另一个屏幕窗口。

屏幕速成课程:

Control+A     - command key
Control+A a   - emit a control+A
Control+A n   - next "screen"
Control+A c   - create "screen"
Run Code Online (Sandbox Code Playgroud)

Solaris 用户:

你完蛋了

pkgchk -R / -f -a
Run Code Online (Sandbox Code Playgroud)

将重置所有权限,但 setuid-ness 仍将被破坏。使用备份或其他solaris 机器查找setuid/setgid 脚本和文件并手动修复它们。

关于备份的重要事项

是你可以恢复它们,而不是你拿走它们。

其他人给了你备份的建议,但我想补充一点,你应该测试它们。如果您使用的是 unixish 系统,则没有任何理由不能定期将文件转储到另一台机器上并确保一切正常。

  • @einstiien 是的,FreeBSD 用户直接进入`rm -rf` 阶段。 (10认同)

epi*_*c9x 10

/bin/ 中的大部分内容都应该归 root:root 所有,因此如果您运行以下命令,您可以修复这些文件的所有权:

chown root:root -R /bin/ 
Run Code Online (Sandbox Code Playgroud)

您可能还想确保在 /bin/su 上正确设置了 setuid 位,您可以使用以下方法进行修复:

chmod 4755 /bin/su
Run Code Online (Sandbox Code Playgroud)

  • http://paste.ubuntu.com/362468/ 是来自我的 Ubuntu 9.10 桌面的“ls -l /bin”。虽然我可能没有安装与您完全相同的文件,但它至少应该可以很好地提示您哪些文件需要特殊权限。 (4认同)