Permissions
沒有 sudo 的遞歸 chmod
我不小心執行了以下操作:(
chmod -R 741 /*
忘了點,是的)。所以接下來我知道的是我的終端充滿了錯誤,我將它停在 /mnt/ 目錄中。在這一點上,我意識到我犯了一個多麼可怕的錯誤,我的終端當機了。經過一番摸索後,我回到755
了我的主目錄,現在一切似乎都很好。但是,我可以破壞系統中的某些內容嗎?我沒用sudo
,所以我想我沒有搞砸太糟糕?如果我有另一個不受我的錯誤影響的使用者,我是否可以至少恢復主目錄的一些預設權限?
正如其他人指出的那樣,沒有 root 權限,您不會損壞系統本身的任何部分。您將更改您擁有的文件和目錄的權限。
以下是如何將它們返回到(大部分)合理的值集:
chmod u=rwx,go= ~ # Ensure we can access our home directory cd # Let's go... find . -type d -exec chmod u=rwx,go=rx {} + # All directories find . ! -type d -exec chmod u=rw,go=r {} + # Everything else find .bash_history .config .gnupg .ssh -exec chmod go= {} + # Lock out sensitive data
這將設置所有目錄權限,以便您可以讀取/寫入/搜尋它們,並且其他所有人都可以讀取/搜尋它們。如果您想阻止任何人訪問您的目錄,請更改
go=rx
為。go=
然後它將設置所有文件權限,以便您可以讀取/寫入它們,並且其他人都可以讀取它們。更改
go=r
為go=
是否要將文件內容保密。最後,它將刪除除您自己之外的所有人對敏感目錄的所有訪問權限。
如果您有任何執行檔(程序、腳本),則需要將可執行位重新添加到:
chmod a+x ~/some/important/program
和以前一樣,這賦予每個人(“所有人”)執行程序的權利。更改
a+x
為,u+x
如果您只為自己想要那個權利。