执行后千万不要退出当前窗口!!!

在自己的虚拟机上设置某个站的权限的时候,原来应该是chmod -R 777 ./*  结果少按了个点,执行了chmod -R 777 /*  因为执行时间超出自己的预想范围赶紧按下CTRL+C,可惜晚了,看下了/etc目录下的东西,全部都是777状态,立马开另一个终端尝试登陆,已经登录不上了!

原先执行的窗口还可以操作,于是找资料看看有没有解决方法,要是在机房生产机犯这样低级的错误,总不能重装吧。linux没这么脆弱。

ssh登录不上,应该跟passwd、group、shadow、ssh这几个文件扯上关系而已,开了另一台linux查看权限,并在错误的机器上修改成对应的权限:

   cd /etc
chmod passwd group shadow
chmod gshadow
   cd ssh
chmod moduli ssh_host_dsa_key ssh_host_key ssh_host_rsa_key
chmod ssh_config ssh_host_dsa_key.pub ssh_host_key.pub ssh_host_rsa_key.pub
chmod sshd_config
  chmod  /var/empty/sshd

然后尝试ssh登录,ok正常,不过没办法切换成root用户

  su -
  root “su: cannot set groups: "

因为su必须有s权限才能预读取root的相关配置:

  chmod u+s `which su`

完成之后就可以进去系统慢慢折腾了。

找一台linux系统(尽量越干净越好),把系统的权限导出,然后再导入到本机。

在好的机器上执行

  getfacl -R / > ./linux.chmod.bak  

然后通过ftp或者rz命令上传到要修复的机子上

执行:

   setfacl --restore=/root/linux.chmod.bak    

执行这个后需要重启机器才会替换权限(真够麻烦,要是线上机器怎么可以随便重启,实际上这个时候机器是可以正常访问,只是安全方面没保证)

执行前,写个脚本让它在开机后执行,万一替换的脚本有问题,至少还能登录ssh。没错,就是把上面的命令写成脚本放在放在rc.local里面延迟执行。我放在/root/下

     cat   sshtmp.sh
#----------start---------- #!/bin/bash
sleep
cd /etc
chmod passwd group shadow
chmod gshadow
cd ssh
chmod moduli ssh_host_dsa_key ssh_host_key ssh_host_rsa_key
chmod ssh_config ssh_host_dsa_key.pub ssh_host_key.pub ssh_host_rsa_key.pub
chmod sshd_config
chmod /var/empty/sshd
chmod u+s `which su` #-----------------end----------

放到开机启动

   echo '/root/sh/sshtmp.sh &'  >>/etc/rc.local

然后reboot 吧。

重启后如果能正常登录系统,可以先把sshtmp.sh 的进程kill掉,并去掉/etc/rc.local里面脚本。然后查看权限有没有正常。

参考:http://blog.sina.com.cn/s/blog_5937eedc0101h619.html

执行chmod -R 777 / 补救的更多相关文章

  1. centos7下误执行chmod -R 777 /后的权限修复方法

    今天由于权限问题zz一般把/usr/bin和/usr/lib两个目录用chmod -R 777执行了一遍,结果各种问题出现,su root就报su:鉴定故障的错误.然后上网找教程很多都要求在root权 ...

  2. Ubuntu 执行chmod -R 777 / 挽救方法

    mgj怎么会有堪比rm -rf /*这样神奇的命令,本想着把当前目录下的权限改为777,没想到把整个/目录下全设成777了,直觉告诉我好像哪里有些不对劲,好在一顿xjb折腾最终弄好了,应该没啥大问题, ...

  3. Linux:chmod -R 777 * 是什么意思?

    首先,chmod命令是linux上用于改变权限的命令,-R 是递归遍历子目录,因为你要操作的文件使用的*通配符.777,第一个7代表文件所属者的权限,第二个7代表文件所属者所在组的权限,第三个7代表其 ...

  4. Mac 因误使用chmod -R 777 命令更改 /usr/bin 造成终端不能实用,提醒进程已结束的完美解决方案!

    1.不用删除任何文件. 2.启动root用户权限 4.在用root用户登进去 5.在root用户中使用终端输入命令 chown root:wheel /usr/bin/login chmod u+s ...

  5. chmod -R o+rX /data

    When using  chmod -R o+rx /data , you set the execute permission on all directories as well as files ...

  6. shell脚本执行错误 $'\r':command not found

    shell脚本执行错误 $'\r':command not found Linux下有命令dos2unix 可以用一下命令测试 vi -b filename 我们只要输入dos2unix *.sh就可 ...

  7. chmod 权限777 是什么意思(Unix和Linux的各种操作系统下)

    在Unix和Linux的各种操作系统下,每个文件(文件夹也被看作是文件)都按读.写.运行设定权限.例如我用ls -l命令列文件表时,得到如下输出:-rw-r--r-- 1 bu users 2254 ...

  8. bash deploy.sh 通过bash命令 执行scp -r 命令将本地文件拷贝到服务器

    deploy.sh 文件内容如下 #!/bin/bash #scp -r ./* root@XXXXX:/root/sunSH/xadserver/ function getdir(){ for el ...

  9. linux cp -r chmod -R 递归拷贝 删除 改权限

    在linux下拷贝的时候有时候会出现cp:omitting directory的错误 ,例如 cp:omitting directory "bbs" 说明bbs目录下面还有目录,不 ...

随机推荐

  1. echarts柱状图坐标文字显示不完整解决方式

    echarts柱状图坐标文字显示不完整解决方式 本文转载自:https://jingyan.baidu.com/article/ab69b2707a9aeb2ca7189f0c.html echart ...

  2. Spark原理分析目录

    1 Spark原理分析 -- RDD的Partitioner原理分析 2 Spark原理分析 -- RDD的shuffle简介 3 Spark原理分析 -- RDD的shuffle框架的实现概要分析 ...

  3. (记录问题)1.Canvas.drawArc()方法的问题

    先看看异常: 一眼看去就知道说的是方法找不到错误 后面发现是系统版本过低,4.0的系统找不到5.0后添加的方法报的错. 修改后完美解决

  4. 打开nginx配置的站点报错500

    打开站点报错500的原因 有很多,这里只说明一点:nginx 的fastcgi.conf配置引起的问题 环境说明 1 站点目录结构 wwwroot website public application ...

  5. Git 配置环境

    安装 在Fedora/CentOS下安装 $ sudo yum install git 在Debian/Ubuntu Linux下载安装 $ sudo apt-get install git Wind ...

  6. javascript异步上传压缩图片并立即显示图片

    javascript异步上传压缩图片并立即显示图片<pre><!doctype html><html><head><meta charset=&q ...

  7. 修改kvm宿主机主机名后

    修改了宿主机的主机名后, libvirtd错误日志如下 virNetSocketReadWire: : End of file while reading data: Input/output err ...

  8. Python之路【第三十篇】:django 模型层-多表关系

    多表操作 文件为 ---->  orm2 数据库表关系之关联字段与外键约束 一对多Book id title price publish email addr 1 php 100 人民出版社 1 ...

  9. GO指南练习:切片

    最近开始GO语言的学习,在GO指南中练习到切片这个题目 练习:切片 实现 Pic.它应当返回一个长度为 dy 的切片,其中每个元素是一个长度为 dx,元素类型为 uint8 的切片.当你运行此程序时, ...

  10. python递归函数和河内塔问题

    关于递归函数: 函数内部调用自身的函数. 以n阶乘为例: f(n) = n ! = 1 x 2 x 3 x 4 x...x(n-1)x(n) = n x (n-1) ! def factorial(n ...