我试图运行,chmod -R 777 ./
但最终在我的整个计算机上键入chmod -R 777 /
并设置777
。有什么问题吗?我该如何解决?
我试图运行,chmod -R 777 ./
但最终在我的整个计算机上键入chmod -R 777 /
并设置777
。有什么问题吗?我该如何解决?
Answers:
问题?是的,很多。可以解决吗?当然。比重新安装更快?可能不会。
我的建议是重新安装。保留现有系统的备份和恢复软件包列表和文件的内容/etc
和/var
。对于/usr/local
,您可能可以手动还原权限。对于/home
和/srv
,您必须从备份中还原权限。
如果这是一个具有多个本地用户的系统,请注意,使某些文件成为全球可读取的文件揭示了一些应该保密的信息。
如果您真的想尝试修复(更多的是学习练习,而不是实际的恢复途径),请首先还原几个文件的权限。请注意,尽管现在大多数文件都打开过,但仍有一些缺少必需的setuid位。以下是您应采取的其他步骤。请注意,这并不是一个详尽的清单,只是试图使系统几乎无法运行。
chmod -R go-w /
chmod 440 /etc/sudoers
chmod 640 /etc/shadow /etc/gshadow
chmod 600 /etc/ssh/*_key /etc/ssh*key # whichever matches
chmod 710 /etc/ssl/private /etc/cups/ssl
chmod 1777 /tmp /var/tmp /var/lock
chmod 4755 /bin/su /usr/bin/passwd /usr/bin/sudo /usr/bin/sudoedit
chmod 2755 /var/mail /var/spool/mail
然后,您将需要在所有位置还原所有权限。对于下的文件/usr
,您可以使用以下命令之一重新安装软件包,具体取决于您的分布:
apt-get --reinstall install
pacman -S $(pacman -Qq --dbpath /newarch/var/lib/pacman) --root /newarch --dbpath /newarch/var/lib/pacman
,前提是您已将其安装在Live CD中,并且Arch安装已安装在/newarch
。对于/etc
和下的文件/var
,这些文件将不起作用,因为其中的许多文件将保留原样:您必须在有效的安装上复制权限。对于/srv
和下的文件/home
,无论如何都必须从备份中还原。如您所见,您最好重新安装。
起初您可能没有注意到它,但是很多事情可能并且会出错。主要问题是整个系统的整个安全模型已损坏。就像一个没有皮肤的身体,所有器官都在空中。它注定会被感染,因为它的作用并非如此。即使它似乎工作了几分钟,也需要清理它。
最好的方法实际上是从头开始。这种方式将大大降低您的风险,并在更短的时间内为您提供更清洁的结果。如果您有适当的备份,那么就不应该尝试这种做法。
如果确实要清理它,那么主要方法是告诉发行版的程序包管理器在系统上重新安装一切,包括覆盖配置文件。然后,使用必须使用的任何验证系统来检查它们,并确保没有一个标记为具有权限异常的文件。接下来,遍历用户主目录之类的内容,并将所有内容重置为合理的权限,然后遍历一些应该具有特殊权限的事物(如ssh密钥文件)。最后,对标记为777的所有内容执行完整的系统查找,然后遍历该列表(如果您已完全完成其他步骤,则应该很小),并逐一检查以确保它们是正确的样子。
解决方案:我在CENTOS中对此进行了测试
这个家伙救了我的工作!(您需要以某种方式访问)
http://www.adminlinux.org/2009/07/how-to-restore-default-system.html
1)重置文件和目录上的uid和gid:
for u in $(rpm -qa); do rpm --setugids $u; done
2)对文件和目录的权限
for p in $(rpm -qa); do rpm --setperms $p; done
然后手动更改这些文件的权限:
# ll /etc/ssh/
# chmod 600 /etc/ssh/ssh_host_rsa_key
# chmod 600 /etc/ssh/ssh_host_dsa_key
# service sshd restart
如果某些文件的权限太“松散”,则某些注重安全性的程序将无法启动。正如@ceving所说,这sshd
是最典型的。
可能出错的主要问题是,现在任何用户都可以打开,读取和写入系统上的任何文件。造成这种情况严重的两个原因是:A)如果恶意用户通过漏洞利用或配置错误获得了对系统的控制,他/她现在就可以修改系统上的任何内容,并且B)即使有恶意,您也可以删除所需的任何内容您不是root用户,因此您已经取消了大多数不以root用户身份运行的保护措施。
如果您没有事先备份权限,则可能会遇到问题。您可能能够创建一个脚本,该脚本从新安装的系统中“获取”权限列表,然后将其“应用”到系统中的所有内容。不过,我没有这样的脚本。
rm -rf /
普通用户身份执行操作,则将使系统陷入瘫痪。