|
 |
栏目导栏 |
|
| |
|
|
|
|
 |
资料搜索 |
|
| |
|
|
|
|
 |
热门文章 |
|
| |
|
|
|
|
 |
最新文章 |
|
| |
|
|
|
| |
| |
|
|
|
| |
| Solaris下如何恢复文件权限/属主/组到默认状态 |
|
如果你误执行了以下的命令:chmod 777 .* 或chown -R *等等,在不重装系统或从磁带备份中恢复的情况下,如何快速地把系统文件等恢复到初始安装默认状态?5sELinux联盟 5sELinux联盟 我们知道通过pkgadd安装(推荐用pkgadd安装所有package)的所有文件在/var/sadm/install/contents文件里都有详细记录。以下方法的中心就是用此文件里的记录来恢复其状态。假设你现在的id是root.5sELinux联盟 5sELinux联盟 #cd /var/sadm/install5sELinux联盟 5sELinux联盟 ####把contents文件里所有不包含=(等号)也不包含/devices的行重定向到一个新的文件contents.new5sELinux联盟 5sELinux联盟 # egrep -v "=|devices" contents > contents.new5sELinux联盟 5sELinux联盟 ####如果这个命令出错且原因是“to many fields record number XXX", 那么你要用vi手工编辑contents.new,输入:XXX以删除所有的SUNW行。我们只需要关心1,4,5,6列,其结果存到contents.new25sELinux联盟 5sELinux联盟 #awk '{print $1,$4,$5,$6}' contents.new > contents.new25sELinux联盟 5sELinux联盟 ####把contents.new2中的所有空格用:来替代,把结果存到contents.new5sELinux联盟 5sELinux联盟 #sed 's/ /:/g/' contents.new2 > contents.new5sELinux联盟 5sELinux联盟 ####用vi编辑如下的脚本文件restore_perms5sELinux联盟 5sELinux联盟 #vi restore_perms5sELinux联盟 5sELinux联盟 #############################################5sELinux联盟 # Begin5sELinux联盟 #!/bin/sh5sELinux联盟 for FILE in `cat /var/sadm/install/contents.new`5sELinux联盟 do5sELinux联盟 FNAME=`echo $FILE | awk -F: '{print $1}'`5sELinux联盟 PERM=`echo $FILE | awk -F: '{print $2}'`5sELinux联盟 OWNR=`echo $FILE | awk -F: '{print $3}'`5sELinux联盟 GRP=`echo $FILE | awk -F: '{print $4}'`5sELinux联盟 5sELinux联盟 echo "chown $OWNR:$GRP $FNAME"5sELinux联盟 chown $OWNR:$GRP $FNAME5sELinux联盟 echo "chmod $PERM $FNAME"5sELinux联盟 chmod $PERM $FNAME5sELinux联盟 done5sELinux联盟 rm contents.new5sELinux联盟 # End5sELinux联盟 ############################################5sELinux联盟 5sELinux联盟 ####赋予restore_perms脚本可读可执行权限5sELinux联盟 5sELinux联盟 #chmod 555 restore_perms5sELinux联盟 5sELinux联盟 ####执行此脚本5sELinux联盟 5sELinux联盟 #./restore_perms5sELinux联盟
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论 |
|
|
|
|
|