意外权限覆盖后,Linux 中的终端无法打开

意外权限覆盖后,Linux 中的终端无法打开

我正在使用Debian。我尝试通过使用授予 /opt/folder 权限

chmod -R 0755 / filename

不幸的是,它更改了根文件系统中许多文件夹的权限。所以这会导致很多问题。

现在我无法打开任何应用程序(即)终端、浏览器,甚至在重新启动时出现错误。

如何打开终端? (启动和停止)

如何解决这整个问题?

答案1

您已经递归地更改了 root ( /) 和filename.这是因为两者之间有一个空间。

你有几个选择:

  1. 修复权限。这将涉及尝试找出正确的权限每一个文件/- 一项非常耗时的任务。一种可能的方法是安装同一发行版的另一个副本,其中包含所有(或尽可能多的)软件包作为原始软件包以用作参考。
  2. 如果您愿意的话,上面的内容有一个小小的变化:您可以使用恢复磁盘启动并安装原始(损坏的)和新的安装分区/磁盘。从那里,编写一个脚本,将权限从工作递归复制到新的。请参阅下面的示例。
  3. 从备份恢复。
  4. 如果没有备份,请重新安装。

作为初学者,这里有一个未经测试的脚本,应该可以工作:

  brkd=/mount/borked
  good=mount/fresh
  find $good -type f | xargs -I {} chmod --reference {} $brkd{}

答案2

您在斜杠后留出了不需要的空格。

您的终端问题将通过重新启动来解决。这些权限在基于 ramfs 的文件系统中很长,每次重新启动时都会重建。但警告:您的系统当前可能无法启动,因此重新启动后您可能会在救援系统上启动。

如果您没有备份,您需要知道哪些目录的权限被删除了。最好的解决方案是进入另一个 Linux,使用 welldirectedls命令从根目录开始比较权限,然后在系统上重置它们。

相关内容