共计 1418 个字符,预计需要花费 4 分钟才能阅读完成。
今天就跟大家聊聊有关 Linux 错误执行 chmod 777 .* 或 chown -R * 的补救方法,可能很多人都不太了解,为了让大家更加了解,丸趣 TV 小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
误执行了命令:chmod 777 .* 或 chown -R * 等,导致整个操作系统权限混乱,部分命令、设备失效,这时候千万不能重启。主要想办法把每个文件的权限修改回去就可以了。
怎么才能把把系统文件等恢复到初始安装默认状态?
原理:我们通过 pkgadd 安装 (推荐用 pkgadd 安装所有 package) 的
所有文件在 /var/sadm/install/contents 文件里都有详细记录。
以下方法的中心就是用此文件里的记录来恢复其状态。假设你现在的 id 是 root.
#cd /var/sadm/install
#### 把 contents 文件里所有不包含 =(等号)也不包含 /devices 的行重定向到一个新的文件 contents.txt
# egrep -v =|devices contents contents.txt
1、处理 contents.txt, 抽取 1,4,5,6 列放到另外一个文本
awk {print $1,$4,$5,$6} contents.txt contents.txt2
如果这个命令出错且原因是“to many fields record number XXX,使用
vi contents.txt
:g/SUNW/d
使用: 代替空格
sed s/ /:/g contents.txt2 contents.txt3
2、编写脚本, 重新设置系统权限
#### 用 vi 编辑如下的脚本文件 restore_perms
#vi restore_perms######################################################### # Begin #!/bin/bash for FILE in `cat /var/sadm/install/contents.txt3` do FNAME=`echo $FILE | awk -F: {print $1} ` PERM=`echo $FILE | awk -F: {print $2} ` OWNR=`echo $FILE | awk -F: {print $3} ` GRP=`echo $FILE | awk -F: {print $4} ` echo chown $OWNR:$GRP $FNAME chown $OWNR:$GRP $FNAME echo chmod $PERM $FNAME chmod $PERM $FNAME done #rm contents.txt3 # End ######################################################### ####赋予 restore_perms 脚本执行权限 #chmod +x restore_perms #### 执行此脚本 #./restore_perms echo /opt/CTEact/kmdb/5.10/sparcv9:0755:bin:bin | awk -F: {print $1}
修改完成后,带 s 位权限的文件需要手动修改。
看完上述内容,你们对 Linux 错误执行 chmod 777 .* 或 chown -R * 的补救方法有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注丸趣 TV 行业资讯频道,感谢大家的支持。