是的,你绝对需要担心

是的,你绝对需要担心

不幸的是,我当时太匆忙,sudo chmod 777 -R /在一个项目中运行。我是否应该担心它开始为从 root () 开始的所有文件夹添加 777 权限/

答案1

我是否应该担心它开始为从 root(/) 开始的所有文件夹添加 777 权限?

不,不用担心。我可以保证,如果你在前面使用了“sudo”或执行了“sudo -i”,那么它应该会显示权限错误。

如果你想恢复系统,有多种方法可以做到,但你需要一个最新的(即个人数据最新的)备份系统。ACL 工具...

  • 您可以getfacl -R > permissions.txt/备份系统上创建权限列表。

  • 在损坏的机器上使用实时会话,将文件复制到/并执行setfacl --restore=permissions.txt恢复/它们。

我建议您重新安装。

答案2

是的,你绝对需要担心

您运行了sudo chmod 777 -R /,它将遍历整个文件系统。

对于大多数文件来说,这只是一个小小的不便。对于某些文件来说,如果某些攻击者设法通过 shell 或 CGI 攻击破坏您的系统,这将是一个严重的安全风险(想想/etc/passwd吧)。

但最重要的是,一些文件休息如果它们太开放。例如,如果您打开~/.ssh/*(您的 ssh 密钥、authorized_keys、hosts...),那么出于安全原因,sshsshd将把这些文件视为不存在。如果您依靠~/.ssh/authorized_keys通过 ssh+Public Key 登录,那么最糟糕的情况是,您可能被锁定在自己的机器之外。还有许多其他与安全相关的软件包也会这样做,主要是因为它们的配置/etc或可能是 中的一些文件/var

因此,虽然我们显然无法肯定地说,因为我们对您的机器了解甚少。但正如其他一些答案所指出的那样,这肯定不是一个无害的问题。

答案3

如果你运行:

readlink -f /var/www/html/../../..

你会明白/这意味着正如你自己所说的,你的命令已经在上运行/,只是你的系统现在坏了,备份你的数据,重新安装 Ubuntu。

chmod的工作是更改文件/目录的 mod(权限位),777意味着每个人都可以读取、写入、执行系统上的任何内容,同时您删除了许多其他位,如 sticky、suid、sgid。

答案4

关于一个还没有提出的问题,

...它开始为从根目录开始的所有文件夹添加 777 权限...

您不仅添加了 777 个权限,还从所有文件中删除了 setuid、setgid 和 sticky 位。这将导致sudo和之类的东西su停止工作,因为它们依赖 setuid 来更改用户。

请注意,chmod 777是 的缩写chmod 0777。另一个八进制数字代表我刚才提到的位。例如,chmod 4777设置 setuid 位,清除 setgid 和 sticky 位,并添加所有权限。

将来,我建议使用的chmod其他语法:

chmod +rwx # what you probably intended
chmod ug+w # add write permission to user and group
chmod o-r # remove read permission from other

相关内容