linux 把根目录设置成777权限的补救方法

简介:

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.local

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

重启之后应该就是正常的了,然后把sshtmp.sh的进程结束掉,rc.local修改回去,删除sshtmp.sh,好了,现在可以去看看系统权限正常了没有。










本文转自 蓝叶子Sheep 51CTO博客,原文链接:http://blog.51cto.com/dellinger/1962796,如需转载请自行联系原作者
目录
相关文章
|
4天前
|
Linux 数据安全/隐私保护
linux特殊权限!!
本文介绍了Linux系统中的特殊权限,包括suid、sgid和sbit。suid使普通用户在执行特定命令时获得root权限;sgid使用户在创建文件时继承目录的用户组权限;sbit确保用户只能删除自己在共享目录中创建的文件。此外,文章还讲解了chattr和lsattr命令,用于更改和查看文件的扩展属性,以及umask的概念和计算方法,帮助理解文件和目录的默认权限。
20 1
linux特殊权限!!
|
7天前
|
Linux Shell 数据库
文件查找是Linux用户日常工作的重要技能介绍了几种不常见的文件查找方法
文件查找是Linux用户日常工作的重要技能。本文介绍了几种不常见的文件查找方法,包括使用`find`和`column`组合、`locate`和`mlocate`快速查找、编写Shell脚本、使用现代工具`fd`、结合`grep`搜索文件内容,以及图形界面工具如`Gnome Search Tool`和`Albert`。这些方法能显著提升文件查找的效率和准确性。
25 2
|
9天前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
50 3
|
13天前
|
运维 Linux
Linux查找占用的端口,并杀死进程的简单方法
通过上述步骤和命令,您能够迅速识别并根据实际情况管理Linux系统中占用特定端口的进程。为了获得更全面的服务器管理技巧和解决方案,提供了丰富的资源和专业服务,是您提升运维技能的理想选择。
12 1
|
13天前
|
运维 安全 Linux
Linux文件清空的五种方法总结分享
每种方法各有优势,选择最合适的一种或几种,可以极大提高您的工作效率。更多有关Linux系统管理的技巧与资源,欢迎访问,持续提升您的运维技能。
59 1
|
1月前
|
Linux 应用服务中间件 nginx
Linux下权限设置之suid、sgid、sticky
Linux下权限设置之suid、sgid、sticky
|
1月前
|
Linux 数据安全/隐私保护 Windows
Linux_权限理解(详细PLUS
Linux_权限理解(详细PLUS
|
1月前
|
网络协议 Linux 网络安全
【Linux】用户和权限及实用操作------迅速了解用户和权限及其实用操作
【Linux】用户和权限及实用操作------迅速了解用户和权限及其实用操作
|
16天前
|
运维 安全 Linux
Linux中传输文件文件夹的10个scp命令
【10月更文挑战第18天】本文详细介绍了10种利用scp命令在Linux系统中进行文件传输的方法,涵盖基础文件传输、使用密钥认证、复制整个目录、从远程主机复制文件、同时传输多个文件和目录、保持文件权限、跨多台远程主机传输、指定端口及显示传输进度等场景,旨在帮助用户在不同情况下高效安全地完成文件传输任务。
112 5
|
15天前
|
Linux
Linux系统之expr命令的基本使用
【10月更文挑战第18天】Linux系统之expr命令的基本使用
51 4