什么“chmod 777 -R /”在/ var / www / html / … / … / … /?

不幸的是我在一个项目中奔跑并运行sudo chmod 777 -R / 。 我应该担心它开始从root( / )开始为我的所有文件夹添加777权限吗?

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

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

如果您想要恢复系统,有办法实现此目的,但您需要一个当前(即最新的个人数据)备份系统。 使用ACL工具 ……

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

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

我会建议你重新安装。

是的,你绝对需要担心

你运行了sudo chmod 777 -R / ,它将通过整个文件系统进行递归。

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

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

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

如果您运行:

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

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

chmod的工作是更改文件/目录的mod(权限位), 777意味着每个人都可以在你的系统上读取,写入,执行任何东西,同时你已经删除了很多其他的东西,比如sticky,suid, SGID。

在尚未提出的一点上,

…它从root开始为我的所有文件夹添加了777权限…

您不仅添加了777权限,还从所有文件中删除了setuid,setgid和sticky位。 这会导致像sudosu这样的东西停止工作,因为他们依赖setuid来改变用户。

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

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

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