有时候手贱不小心给chmod -R 777 / 了,这下系统就瘫痪了~怎么办呢?? 往下看吧
首先你必须准备一台和故障机器一样的系统,比如可以在虚拟机中安装一套一样版本的linux
在新系统中创建一个 waynerQiu.c 程序,内容如下
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#include<stdio.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);elseftw(argv[1],
list, 2);exit(0);} |
然后编译该文件,并导出权限信息
|
1
2
3
4
|
#编译gcc
waynerQiu.c -o waynerQiu.com#执行并导出相关目录的权限./waynerQiu.com
/ >> waynerQiu.txt |
将导出的文件copy至故障机器并执行下面的脚本
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
#!/bin/shif [
$#
!= 1 ]thenecho Usage
: $0 \<filename\>exitfiPERMFILE=$1cat $PERMFILE
| while read LINEdoFILE=`echo $LINE
| awk '{print
$1}'`PERM=`echo $LINE
| awk '{print
$2}'`chmod $PERM
$FILE#echo
"chmod $PERM $FILE"doneecho "change
perm finished! " |
可以将脚本保存为一个shell文件如:mygod.sh
然后执行
|
1
|
mygod.sh
waynerQiu.txt |
等程序跑完之后,重新启动系统,看看是不是已经恢复了?
本文介绍了一种通过编写和使用特定程序来恢复因错误执行chmod命令而导致的系统权限混乱的方法。
2224

被折叠的 条评论
为什么被折叠?



