黑白格子

  • 首页
  • 所有文章
  • 文章分类
  • 关于页面
  • 友链

  • 搜索
工具 随笔 脚本 Shell MAC IE SSL iptables 网络 k8s docker ubuntu web 镜像 Nginx Linux Windows cloud-init

linux 系统 chmod 误操作权限修复

发表于 2020-06-10 | 分类于 Linux | 0 | 阅读次数 514

Linux 系统中如果意外误操作将根目录或系统默认关键目录权限批量设置,比如 chmod -R 777 / ,系统中的大部分服务以及命令将无法使用,这时候可以通过系统自带的 getfacl 和 setfacl 命令来拷贝和还原系统权限,若是其他系统目录被误操作,同样可行。


假设执行了 chmod -R 777 / ,常见会导致的问题有:

  • 密码正确,但是无法登陆系统
  • 重启服务器后启动卡住
  • 服务启动失败,如 sshd
    可以使用命令 rpm -Va 查看文件权限是否被修改:

修复的方法如下:

1. 通过一台权限正常的Linux(最好内核版本和故障服务器相同) 通过 getfacl -R / >filename.bak 将这个正常系统的 /目录下所有文件的权限都备份保存在 filename.bak 中:
root@BJ-CentOS7 ~ # getfacl -R / > filename.bak
2. 拷贝 filename.bak 文件至权限异常服务器,由于很多系统默认目录文件权限不正确,如 sftp、scp 等方式连接会异常,服务器未重启情况下,只要能进入系统则可以通过 wget 命令下载文件;或者密码认证出错时进入单用户模式启动 network 服务下载文件至异常服务器
# /etc/init.d/network start
# wget x.x.x.x/filename.bak
3. 在异常服务器中执行命令 setfacl --restore=filename.bak 即可将现在的系统权限恢复成和正常系统一样
# setfacl --restore=filename.bak

等待命令执行完毕,系统目录文件权限修正后可验证问题已解决

  • 本文作者: 黑白格子
  • 本文链接: https://www.clhuang.cn/?p=32
  • 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0 许可协议。转载请注明出处!
# 工具 # 随笔 # 脚本 # Shell # MAC # IE # SSL # iptables # 网络 # k8s # docker # ubuntu # web # 镜像 # Nginx # Linux # Windows # cloud-init
时间戳转换
SELinux导致的导致的服务端口监听失败
黑白格子

黑白格子

56 日志
11 分类
18 标签
Creative Commons
0%
© 2022 黑白格子
主题 - NexT.Mist
网站已稳定运行:
陕ICP备16020191号