科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件Solaris下如何恢复文件权限/属主/组到默认状态

Solaris下如何恢复文件权限/属主/组到默认状态

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

我们知道通过pkgadd安装(推荐用pkgadd安装所有package)的所有文件在/var/sadm/install/contents文件里都有详细记录

作者:blog.chinaunix.net 来源:blog.chinaunix.net 2007年9月7日

关键字: 系统 权限 Sun Solaris

  • 评论
  • 分享微博
  • 分享邮件

如果你误执行了以下的命令: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领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章