linux 把根目录设置成777权限的补救方法
2017-09-05 13:27
281 查看
Linux把根目录设置成777权限的补救方法
前两天蛋蛋手就那么一抖啊,一不小心就把根目录权限设置成777了。本想执行chmod -R 777 ./* 结果一不小心少按了一个点,变成了chmod -R 777 /*系统从根目录就赋予了权限,太大意了,网上找了一些补救方法,转给大家千万别犯这种错误!执行后千万不要退出当前窗口!!!执行下去发现之后,赶紧按ctrl+c发现已经无效。马上看了下/etc目录下的东西,全部都是777状态,立即开启另一个终端,ssh已经无法连接。原先执行的窗口还可以操作,赶紧查查资料。ssh无法连接,应该和passwd、group、shadow、ssh几个文件有关,开了另一台linux查看权限,并在错误的机器上修改成对应的权限: cd /etc chmod 644 passwd group shadow chmod 400 gshadow cd ssh chmod 600 moduli ssh_host_dsa_key ssh_host_key ssh_host_rsa_key chmod 644 ssh_config ssh_host_dsa_key.pub ssh_host_key.pub ssh_host_rsa_key.pub chmod 640 sshd_config试过之后,发现另开终端,ssh可以连接了,但是仍旧无法使用root。root "su: cannot set groups: "su必须有s权限才能预读取root的相关配置:chmod u+s `which su`完成之后就可以用root权限进入系统了。接下来找一个Linux系统,最好是在虚拟机里面装一个,然后什么都不安装。在虚拟机执行:getfacl -R / > ./linux.chmod.bak然后把这个文件传到要修复的系统中,执行如下命令:setfacl --restore=/root/linux.chmod.bak然后重启系统就能成功,重启系统之前写个脚本,免得脚本有问题,开机连ssh都连不上。
cat sshtmp.sh #----------start---------- sleep 300 cd /etc chmod 644 passwd group shadow chmod 400 gshadow cd ssh chmod 600 moduli ssh_host_dsa_key ssh_host_key ssh_host_rsa_key chmod 644 ssh_config ssh_host_dsa_key.pub ssh_host_key.pub ssh_host_rsa_key.pub chmod 640 sshd_config chmod u+s `which su` #-----------------end---------
然后放到开机启动,rc.localecho '/root/sh/sshtmp.sh &' >/etc/rc.local重启之后应该就是正常的了,然后把sshtmp.sh的进程结束掉,rc.local修改回去,删除sshtmp.sh,好了,现在可以去看看系统权限正常了没有。
相关文章推荐
- Linux主机系统目录误操作权限修改为777修复方法
- centos/linux安装discuz已经设置目录权限为777还是提示不可写
- 设置 Linux 文件和目录权限的方法
- Linux上设置用户通过SFTP访问目录的权限的方法
- Ubuntu设置目录的读写权限(Linux命令chmod 777 dirName)
- 如何设置UNIX/LINUX中的文件及目录权限【转自www.bitsCN.com】
- Linux文件和目录访问权限设置
- Linux文件权限的设置方法
- LINUX中 设置了umask 创建的默认文件和目录的权限
- Linux文件和目录访问权限设置
- apache,nginx上传目录无执行权限的设置方法
- Linux 文件/目录权限设置命令 chmod
- Linux文件权限防护设置方法详细介绍
- Linux文件和目录访问权限设置
- nginx设置上传目录无执行权限的方法
- apache,nginx上传目录无执行权限的设置方法
- 解读Linux系统文件权限的设置方法
- Linux文件和目录访问权限设置
- Linux 共享目录权限的设置
- Linux文件和目录访问权限设置