Redhat 用户:

Redhat 用户:

我几秒钟前刚刚运行过这个。我成功了Ctrl——C当我意识到自己开始做什么的时候。

到目前为止,它开始浏览的唯一目录是/bin

我害怕做其他任何事情。到目前为止,我意识到我不能再su像普通用户一样使用它了。

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

答案1

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

chown root:root -R /bin/ 

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

chmod 4755 /bin/su

答案2

Redhat 用户:

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 属性仍将被破坏。使用备份或另一台 solaris 计算机查找 setuid/setgid 脚本和文件并手动修复它们。

关于备份的重要事项

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

其他人建议你备份,但我想补充一点,你应该测试一下。如果你使用的是 unixish 系统,毫无理由您无法定期将文件转储到另一台机器上并确保一切正常。

答案3

请注意,受影响的二进制文件上的 set-uid 标志也可能已被删除;这是 chown 的一项安全功能。请检查其他系统中哪些二进制文件具有 set-uid 或 set-gid 标志,并确保也在您的二进制文件上设置它们。

答案4

如果这是一个 debian 系统,我会重新安装所有内容。

相关内容