扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
如果你误执行了以下的命令:chmod 777 .* 或chown -R *等等,在不重装系统或从磁带备份中恢复的情况下,如何快速地把系统文件等恢复到初始安装默认状态?
我们知道通过pkgadd安装(推荐用pkgadd安装所有package)的所有文件在/var/sadm/install/contents文件里都有详细记录。以下方法的中心就是用此文件里的记录来恢复其状态。假设你现在的id是root.
#cd/var/sadm/install
####把contents文件里所有不包含=(等号)也不包含/devices的行重定向到一个新的文件contents.new
# egrep -v "=|devices" contents >contents.new
####如果这个命令出错且原因是“to many fields record number XXX", 那么你要用vi手工编辑contents.new,输入:XXX以删除所有的SUNW行。我们只需要关心1,4,5,6列,其结果存到contents.new2
#awk '{print $1,$4,$5,$6}' contents.new >contents.new2
####把contents.new2中的所有空格用:来替代,把结果存到contents.new
#sed 's/ /:/g/' contents.new2 >contents.new
####用vi编辑如下的脚本文件restore_perms
#vi restore_perms#########################################################
# Begin
#!/bin/sh
for FILE in `cat /var/sadm/install/contents.new`
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.new
# End
#########################################################
####赋予restore_perms脚本可读可执行权限
#chmod 555 restore_perms
####执行此脚本
#./restore_perms
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者