Permissions

沒有 sudo 的遞歸 chmod

  • August 1, 2016

我不小心執行了以下操作:(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=rgo=是否要將文件內容保密。

最後,它將刪除除您自己之外的所有人對敏感目錄的所有訪問權限。

如果您有任何執行檔(程序、腳本),則需要將可執行位重新添加到:

chmod a+x ~/some/important/program

和以前一樣,這賦予每個人(“所有人”)執行程序的權利。更改a+x為,u+x如果您只為自己想要那個權利。

引用自:https://unix.stackexchange.com/questions/299679