我不小心执行了以下命令:(chmod -R 741 /*
忘记了点,是的)。所以我知道的下一件事是我的终端充满了错误,我将其停止在 /mnt/ 目录中。此时我意识到我犯了一个多么可怕的错误,我的终端死机了。经过一番探索后,我回到了755
我的主目录,现在一切似乎都工作正常。但是,我可以破坏系统中的某些东西吗?我没用过sudo
,所以我想我没有搞砸太糟糕?如果我有另一个未受我的错误影响的用户,我是否可以恢复主目录的至少一些默认权限?
答案1
正如其他人指出的那样,如果没有 root 权限,您不会损坏系统本身的任何部分。您将更改您拥有的文件和目录的权限。
以下是如何将它们返回到一组(大部分)合理的值:
chmod u=rwx,go= ~ # Ensure we can access our home directory
cd # Let's go...
find . -type d -exec chmod u=rwx,go=rx {} + # All directories
find . ! -type d -exec chmod u=rw,go=r {} + # Everything else
find .bash_history .config .gnupg .ssh -exec chmod go= {} + # Lock out sensitive data
这将设置所有目录权限,以便您可以读取/写入/搜索它们,其他人也可以读取/搜索它们。如果您想阻止任何人访问您的目录,请更改go=rx
为。go=
然后,它将设置所有文件权限,以便您可以读/写它们,并且其他人都可以读取它们。如果您想将文件内容保密,请更改go=r
为。go=
最后,它将删除除您自己之外的所有人对敏感目录的所有访问权限。
如果您有任何可执行文件(程序、脚本),您需要将可执行位添加回:
chmod a+x ~/some/important/program
和以前一样,这赋予每个人(“所有”)执行该程序的权利。如果您只想为自己拥有该权利,请更改a+x
为。u+x
答案2
由于您运行此命令时没有使用sudo
任何对系统至关重要的文件或目录,因此不会受到影响。
不过,您可能已经更改了自己的所有文件和目录的权限,并且根据您所拥有的内容$HOME
,这对您来说可能是也可能不是大问题。
您可能已将所有文件设置为可由您自己和“其他人”执行。对于一小部分文件,手动将常规文件的权限更改回644
(755
对于目录)或任何默认权限相当简单。
您无需成为 root 即可执行此操作。