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

简介:

误执行了命令: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

 
 
  1. #vi restore_perms######################################################### 
  2. Begin 
  3. #!/bin/bash 
  4. for FILE in `cat /var/sadm/install/contents.txt3` 
  5. do 
  6. FNAME=`echo $FILE | awk -F: '{print $1}'
  7. PERM=`echo $FILE | awk -F: '{print $2}'
  8. OWNR=`echo $FILE | awk -F: '{print $3}'
  9. GRP=`echo $FILE | awk -F: '{print $4}'
  10. echo "chown $OWNR:$GRP $FNAME" 
  11. chown $OWNR:$GRP $FNAME 
  12. echo "chmod $PERM $FNAME" 
  13. chmod $PERM $FNAME 
  14. done 
  15. #rm contents.txt3 
  16. End 
  17. ######################################################### 
  18. ####赋予restore_perms脚本执行权限 
  19.   
  20. #chmod +x restore_perms 
  21.   
  22. ####执行此脚本 
  23.   
  24. #./restore_perms 
  25.  
  26. echo '/opt/CTEact/kmdb/5.10/sparcv9:0755:bin:bin'| awk -F: '{print $1}'  

修改完成后,带s位权限的文件需要手动修改





本文作者:佚名
来源:51CTO
目录
相关文章
|
3天前
|
监控 安全 Linux
使用NRPE和Nagios监控Linux系统资源的方法
通过遵循以上步骤,可以有效地使用NRPE和Nagios监控Linux系统资源,确保系统运行稳定,并及时响应任何潜在的问题。这种方法提供了高度的可定制性和灵活性,适用于从小型环境到大型分布式系统的各种监控需求。
12 2
|
10天前
|
Shell Linux Python
python执行linux系统命令的几种方法(python3经典编程案例)
文章介绍了多种使用Python执行Linux系统命令的方法,包括使用os模块的不同函数以及subprocess模块来调用shell命令并处理其输出。
13 0
|
2月前
|
Ubuntu Linux 虚拟化
安装Windows Linux 子系统的方法:适用于windows 11 版本
本文提供了在Windows 11系统上安装Linux子系统(WSL)的详细步骤,包括启用子系统和虚拟化功能、从Microsoft Store安装Linux发行版、设置WSL默认版本、安装WSL2补丁,以及完成Ubuntu的首次安装设置。
131 2
|
2月前
|
Ubuntu Linux
在Linux中,软件安装和卸载的常见方法?
在Linux中,软件安装和卸载的常见方法?
|
2月前
|
缓存 监控 网络协议
在Linux中,性能调优都有哪几种方法?
在Linux中,性能调优都有哪几种方法?
|
2月前
|
运维 Linux 开发工具
在Linux中,如何查看文件内容?列出几种方法。
在Linux中,如何查看文件内容?列出几种方法。
|
2月前
|
安全 Linux PHP
深入理解Linux中的chmod命令
【8月更文挑战第20天】
86 1
|
2月前
|
Unix Linux Go
Linux中的chmod权限问题
Linux中的chmod权限问题
30 0
|
2月前
|
Linux 开发工具 文件存储
Linux修改主机名的两种方法
Linux修改主机名的两种方法
24 0
|
2月前
|
Linux Perl
在Linux中,系统目前有许多正在运行的任务,在不重启机器的条件下,有什么方法可以把所有正在运行的进程移除呢?
在Linux中,系统目前有许多正在运行的任务,在不重启机器的条件下,有什么方法可以把所有正在运行的进程移除呢?
下一篇
无影云桌面