共計 1418 個字符,預計需要花費 4 分鐘才能閱讀完成。
今天就跟大家聊聊有關 Linux 錯誤執行 chmod 777 .* 或 chown -R * 的補救方法,可能很多人都不太了解,為了讓大家更加了解,丸趣 TV 小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
誤執行了命令: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 * 的補救方法有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注丸趣 TV 行業資訊頻道,感謝大家的支持。