Linux错误执行chmod777.*或chown-R*的补救方法

今天就跟大家聊聊有关Linux错误执行chmod 777 .*或chown -R * 的补救方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

成都创新互联公司是一家专注于做网站、成都网站设计与策划设计,海宁网站建设哪家好?成都创新互联公司做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:海宁等地区。海宁做网站价格咨询:18982081108

误执行了命令: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 * 的补救方法有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。


网站标题:Linux错误执行chmod777.*或chown-R*的补救方法
本文URL:http://scyanting.com/article/igjsso.html