![資料夾權限自動更改](https://rvso.com/image/1114410/%E8%B3%87%E6%96%99%E5%A4%BE%E6%AC%8A%E9%99%90%E8%87%AA%E5%8B%95%E6%9B%B4%E6%94%B9.png)
嘿夥計們,首先我在這個網站上搜索了很多,但沒有得到我的問題的任何確切答案。不知道會自動發生什麼事情,所有資料夾權限都會自動更改,我的所有資料夾和檔案上都會出現鎖定圖示。然後我在這個網站上搜尋並得到了這個命令的解決方案
sudo chown 777 -R $USER:$USER $HOME
它解決了我的問題一半,它刪除了鎖定圖標,但現在所有資料夾權限都是唯讀的,所以請指導我如何像以前一樣重置所有資料夾權限?
我使用的是ubuntu 12.10
謝謝
答案1
不要這樣做!
你已經寫下了你已經完成的事情sudo chown 777 -R ${USER}:${USER} ${HOME}
1. 問題
您正在sudo
執行的操作通常會變更您目前使用者控制的資源。這是極度不安全的。
2. 問題
您正在使用 sudo 和環境變數。這可能會導致您陷入錯誤情況。為了方便說明,請嘗試以下操作。
sudo echo $USER
--> 例如希瓦姆sudo echo '$USER'
-->根
3. 問題
chown
將更改文件的所有權。幸運的是你添加了一個失敗。該參數777
將被識別為不存在的用戶名,並且找不到檔案 ${USER}:${USER}。
該命令chmod
負責更改檔案或目錄權限。
修復不同目錄下所有資料夾的權限。
使用以下命令更改不同目錄下的資料夾權限:
find BASEDIR -type d -exec chmod u+rwx \{\} \;
在你的情況下替換BASEDIR
為~
.對於 bash~
將替換為目前使用者的主目錄。
這將僅處理目錄(而不是文件)並設置讀,寫和進入(又名執行) 目錄所有者的權限。
欲了解更多信息,請閱讀man chmod
筆記:
- 小心遞迴的選項
-R
,因為它將處理所有目錄和文件在給定目錄下。 - 使用象徵性的權限符號如
u+rwx
,因為它更容易理解。 sudo
如果您不是真正需要它,請不要使用。
檢查您的檔案系統是否已正確安裝
確保包含有問題的主目錄的分割區已安裝讀寫。
grep /home /proc/mounts
這應該給出類似的輸出:
/dev/mapper/system-home /home ext4讀寫,關係,丟棄,提交=600,資料=有序0 0
如果讀寫未顯示選項,則該分割區因某些原因(例如不一致)被掛載為唯讀。如果是這種情況,請呼叫檔案系統檢查。這通常也會在電腦啟動期間被呼叫。
答案2
最大的問題是,您的所有文件都處於這樣的狀態:無論現在可讀性如何,它們都非常無法使用。
手動設定權限的問題在於,並非所有檔案都具有相同的權限集(例如,考慮一下您的 ssh 金鑰,您不希望其他人能夠讀取它們),因此您處於一個混亂的情況,您有決定每個檔案應該擁有哪些權限。
您能做的最好的事情就是建立一個新帳戶並從舊帳戶複製您需要的文件。然後將自動設定權限。此外,如果您需要個人設置,您也可以從舊帳戶複製它們。它們位於主目錄中的隱藏檔案或隱藏目錄中。請注意僅複製您需要的內容。
另外,事後進行文件系統檢查可能是明智的。