我几秒钟前刚刚运行过这个。我成功了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 系统,我会重新安装所有内容。