我几秒钟前刚刚跑过这个,我尽快做到了ctrl-c,当我意识到我开始做什么的时候。
到目前为止,在开始经历的唯一目录是/ bin
我害怕做任何事情,到目前为止我意识到我不能使用“su”作为我的普通用户了。
幸好我还有另一个根端打开,该怎么办?
/ bin /中的大部分内容都应该由root:root拥有,所以如果运行以下命令,则可以修复这些文件的所有权:
chown root:root -R /bin/
您可能还想确保setuid位在/ bin / su上正确设置,您可以使用以下方法修复该位:
chmod 4755 /bin/su
chown 0:0 /bin/rpm && rpm -qa | xargs rpm --setugids
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
在屏幕运行时至less要这样做两次:
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"
你搞砸了
pkgchk -R / -f -a
将重置所有的权限,但setuid-ness仍然会被打破。 使用备份或其他solaris机器来查找setuid / setgid脚本和文件并手动修复它们。
你能恢复它们吗,不是你拿走它们吗?
其他人已经给你build议备份,但我想补充说,你应该testing它们。 如果您使用的是unixish系统,则无法定期将文件转储到其他计算机上,并确保一切正常。
请注意,任何受影响的二进制文件上的set-uid标志也可能已被删除; 这是chown的安全特性。 检查一些其他的系统哪些二进制文件具有set-uid或set-gid标志,并确保将它们设置在二进制文件中。
我正要解释使用RPM来重置文件权限的细节,但是我发现了一个有更多信息的网站。 它也提到Ubuntu / Debian(所以.debs一般)不支持它。
但总的来说,你所寻找的select将是一致的:
rpm --setugids {packagename}
如果这是一个debian系统,我会重新安装一切。
你有一个工作备份? 如果是,请恢复您的bin文件夹。
否则,请查看安装了相同版本ubuntu的另一个盒子,并find您在工作安装中find的东西。
试试这个:在/ bin目录下find所有的www-data
# find /bin -user www-data
然后将www-data更改回原始用户
# find /bin -user www-data -exec chown ORiginalUser {} \; # then change www-data back to oringal group # find /bin -group www-data -exec chgrp originaluser {} \;
感谢所有的好评,现在一切似乎都已经解决了。
/ bin / su曾经chmod'd工作到4755(不知道为什么chown改变了suid位)
我没有注意到,但它也开始通过/ home目录工作,但这是一个很容易的修复(只需设置用户:组为每个目录用户)