关于chmod -R 777 /的修复

  • Post author:
  • Post category:其他





首先声明,这个命令一定一定要慎用,我因为手贱,折腾了好几天,问了好多人都说重装吧,最后终于自己又折腾的能用了。




我先说一下我这里的状况:


1、su命令进不去root用户;


2、sudo命令也不能使用;


3、进不去图形界面;


4、系统的服务大部分都停止了。




基本上整个系统到了崩溃的边缘了,我就记录一下我的做法,不一定适合别人的:


1、在虚拟机上新建一个相同系统的虚拟机,可以安装apache服务来与目标虚拟机通信:

apt-get install apache2



2、在新的虚拟机root用户下执行:

getfacl -R / >temp.bak

,然后把temp.bak拷贝到、var/www/html目录下(这个目录是apache服务器目录)。


3、在目标虚拟机中获取temp.bak:

wget http://192.168.137.4/temp.bak

(我的新虚拟机的局域网ip为192.168.137.4)。


4、进入recovery模式,我的是ubuntu系统,进入方式的重启,启动的时候按住shift不放,会进入GRUB,然后选择第二个,就进入到了recovery模式,继续还会有选择,可以看到有root的选项,选择root进入。如果之前没有配置root密码的话,基本上就进不去了……














5



进入到root以后,进入到temp.bak的目录下,执行:

setfacl –restore=temp.bak

,之后就是慢慢等待,到了最后在reboot一下,重启以后发现可以正常使用了,后面有


什么错误的话,再手动修改一下权限,基本上就好了。




还有就是系统在这个时候会记录日志,然后错误日志能把硬盘塞满,就在/var/log/cups/error_log,如果提示硬盘不够的话,可以清空这个日志,

echo “” >


/var/log/cups/error_log

,不然都没地方放temp.bak了。






最后还是想说千万别用chmod -R 777 /,使用chmod的时候一定要确认好了,很容易把chmod -R 777 ./打成chmod -R 777 /的……



版权声明:本文为bgylde原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。