根目录执行chmod -R 777 / 的补救方法

根目录执行chmod -R 777 / 的补救方法

大家好,又见面了,我是全栈君。

根目录执行chmod -R 777 / 的补救方法
执行后千万不要退出当前窗口!!!
在自己的虚拟机上设置某个站的权限的时候,原来应该是chmod -R 777 ./ 结果少按了个点,执行了chmod -R 777 / 因为执行时间超出自己的预想范围赶紧按下CTRL+C,可惜晚了,看下了/etc目录下的东西,全部都是777状态,立马开另一个终端尝试登陆,已经登录不上了!
原先执行的窗口还可以操作,于是找资料看看有没有解决方法,要是在机房生产机犯这样低级的错误,总不能重装吧。linux没这么脆弱。
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登录,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———-
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———-
放到开机启动
echo ‘/root/sh/sshtmp.sh &’ >>/etc/rc.local
然后reboot 吧。
重启后如果能正常登录系统,可以先把sshtmp.sh 的进程kill掉,并去掉/etc/rc.local里面脚本。然后查看权限有没有正常。

转载于:https://blog.51cto.com/chaochang/2054415

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107808.html原文链接:https://javaforall.net

(0)
上一篇 2022年3月12日 下午6:35
下一篇 2022年3月12日 下午6:35


相关推荐

  • MultipartFile的transferTo方法

    MultipartFile的transferTo方法RequiresPerm admin user import RequiresPerm menu 用户管理 会员管理 button 导入 PostMapping import publicObject RequestParam file MultipartFil throwsIOExce 先判断是否为空 if file isEmpty

    2026年3月18日
    2
  • OpenClaw 安装指南(面向开发人员)

    OpenClaw 安装指南(面向开发人员)

    2026年3月13日
    3
  • idea插件安装和推荐插件

    idea插件安装和推荐插件idea安装lombok插件打开settings,进入插件页面,搜索lombok,安装安装完成先别重启,执行下图后重启

    2022年5月27日
    76
  • SpringMVC执行流程和原理「建议收藏」

    SpringMVC执行流程和原理「建议收藏」SpringMVC流程:01、用户发送出请求到前端控制器DispatcherServlet。02、DispatcherServlet收到请求调用HandlerMapping(处理器映射器)。03、HandlerMapping找到具体的处理器(可查找xml配置或注解配置),生成处理器对象及处理器拦截器(如果有),再一起返回给DispatcherServlet。04、Dispatche…

    2022年6月28日
    27
  • Java注解(Annotation)原理详解

    Java注解(Annotation)原理详解注解在 Java 中到底是什么样的东西 具体是如何实现的 我想刚刚接触注解的时候大家都会有这个疑分析测试的代码 Target ElementType TYPE Retention RetentionPol RUNTIME public interfaceHel Stringsay default Hi

    2026年3月19日
    2
  • pidstat_进程实时监控pidstat命令详解

    pidstat_进程实时监控pidstat命令详解pidstat 主要用于监控全部或指定进程占用系统资源的情况 如 CPU 内存 设备 IO 任务切换 线程等 pidstat 首次运行时显示自系统启动开始的各项统计信息 之后运行 pidstat 将显示自上次运行该命令以后的统计信息 用户可以通过指定统计的次数和时间来获得所需的统计信息 实例讲解默认参数执行 pidstat 将输出系统启动后所有活动进程的 cpu 统计信息 pidstat1Linu 13

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号