前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >腾讯云CentOS7 系统执行chmod 777命令后修复方法

腾讯云CentOS7 系统执行chmod 777命令后修复方法

原创
作者头像
夏日萤火
发布2022-08-25 17:57:57
1.3K0
发布2022-08-25 17:57:57
举报
文章被收录于专栏:故障排查故障排查

当在服务器中执行 chmod 777 /xxx -R 命令后,会导致该目录下的大部分目录或文件的权限出现异常,进而导致服务器无法正常使用,接下来就分享下遇到此类情况后修复的方法,本文以修改 /etc目录下文件的权限为777时的情况作为案例修复;

一、现象

当在系统中执行命令 chmod 777 /etc -R 命令后,服务器可以正常重启、远程,但是登录时会提示密码不正确;

二、修复过程

1、创建一台与故障服务器系统相同的服务器;

2、在新建服务器中创建一个 .c文件,将其命名为 chmodfix.c,在该文件中输入如下内容;

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <sys/stat.h>

#include <ftw.h>

int list(const char *name, const struct stat *status, int type)

{

if(type == FTW_NS)

return 0;

printf("%s 0%3o\n", name, status->st_mode & 07777);

return 0;

}

int main(int argc, char *argv[])

{

if(argc == 1)

ftw(".", list, 1);

else

ftw(argv[1], list, 2);

exit(0);

}

3、执行如下命令生成一个名为 chmodfix.com 的可执行文件;

gcc chmodfix.c -o chmodfix.com

4、在新建服务器上新建 .sh文件,将其命名为 chmodfix.sh,将如下内容写入该脚本文件;

#!/bin/sh

if [ $# != 1 ]

then

echo Usage : $0 \<filename\>

exit

fi

PERMFILE=$1

cat $PERMFILE | while read LINE

do

FILE=`echo $LINE | awk '{print $1}'`

PERM=`echo $LINE | awk '{print $2}'`

chmod $PERM $FILE

#echo "chmod $PERM $FILE"

done

echo "change perm finished! "

5、执行如下命令,从新建服务器中将你故障服务器中损坏的那个目录的正确权限获取出来,此案例中为 /etc 目录;

./chmodfix.com /etc >> chmodfix.txt

6、由于故障服务器目前可能已经登录不进去了,可以通过控制台的“救援模式”进入服务器,救援模式使用参考文档:

https://cloud.tencent.com/document/product/213/66678

7、进入救援模式后,将故障服务器的系统盘挂载到 /mnt 目录下;

mount /dev/vda1 /mnt/

8、执行chroot命令,将 /mnt 目录指定为root目录

chroot /mnt/

9、从新建服务器中,将 chmodfix.sh 和 chmodfix.txt 文件传输到故障服务器救援模式中某个目录下;

scp chmodfix.sh xx.xx.xx.xx:/mnt/data

scp chmodfix.txt xx.xx.xx.xx:/mnt/data

10、进入上面2个文件所在的目录,开始权限还原操作:

cd /mnt/data

bash chmodfix.sh chmodfix.txt

11、退出救援模式,操作参考步骤6中的文档;

12、测试服务器登陆。

参考文档:https://blog.csdn.net/weixin_34272308/article/details/93060916

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档