我正在使用Debian。我尝试通过使用授予 /opt/folder 权限
chmod -R 0755 / filename
不幸的是,它更改了根文件系统中许多文件夹的权限。所以这会导致很多问题。
现在我无法打开任何应用程序(即)终端、浏览器,甚至在重新启动时出现错误。
如何打开终端? (启动和停止)
如何解决这整个问题?
答案1
您已经递归地更改了 root ( /
) 和filename
.这是因为两者之间有一个空间。
你有几个选择:
- 修复权限。这将涉及尝试找出正确的权限每一个文件
/
- 一项非常耗时的任务。一种可能的方法是安装同一发行版的另一个副本,其中包含所有(或尽可能多的)软件包作为原始软件包以用作参考。 - 如果您愿意的话,上面的内容有一个小小的变化:您可以使用恢复磁盘启动并安装原始(损坏的)和新的安装分区/磁盘。从那里,编写一个脚本,将权限从工作递归复制到新的。请参阅下面的示例。
- 从备份恢复。
- 如果没有备份,请重新安装。
作为初学者,这里有一个未经测试的脚本,应该可以工作:
brkd=/mount/borked
good=mount/fresh
find $good -type f | xargs -I {} chmod --reference {} $brkd{}
答案2
您在斜杠后留出了不需要的空格。
您的终端问题将通过重新启动来解决。这些权限在基于 ramfs 的文件系统中很长,每次重新启动时都会重建。但警告:您的系统当前可能无法启动,因此重新启动后您可能会在救援系统上启动。
如果您没有备份,您需要知道哪些目录的权限被删除了。最好的解决方案是进入另一个 Linux,使用 welldirectedls
命令从根目录开始比较权限,然后在系统上重置它们。