有时候手贱不小心给chmod-R777/了,这下系统就瘫痪了~怎么办呢??往下看吧
首先你必须准备一台和故障机器一样的系统,比如可以在虚拟机中安装一套一样版本的linux
在新系统中创建一个waynerQiu.c程序,内容如下
#include<sys/stat.h>
#include<ftw.h>
intlist(constchar*name,conststructstat*status,inttype)
{
if(type==FTW_NS)
return0;
printf("%s0%3o\n",name,status->st_mode&07777);
return0;
}
intmain(intargc,char*argv[])
{
if(argc==1)
ftw(".",list,1);
else
ftw(argv[1],list,2);
exit(0);
}
然后编译该文件,并导出权限信息
#编译
gccwaynerQiu.c-owaynerQiu.com
#执行并导出相关目录的权限
./waynerQiu.com/>>waynerQiu.txt
将导出的文件copy至故障机器并执行下面的脚本
#!/bin/sh
if[$#!=1]
then
echoUsage:$0\<filename\>
exit
fi
PERMFILE=$1
cat$PERMFILE|whilereadLINE
do
FILE=`echo$LINE|awk'{print$1}'`
PERM=`echo$LINE|awk'{print$2}'`
chmod$PERM$FILE
#echo"chmod$PERM$FILE"
done
echo"changepermfinished!"
可以将脚本保存为一个shell文件如:mygod.sh
然后执行
mygod.shwaynerQiu.txt
等程序跑完之后,重新启动系统,看看是不是已经恢复了?