Linux

需要修復使用者主目錄中的文件權限

  • January 5, 2021

有沒有人有工具或腳本可以遞歸地更正目錄上的文件權限?

在 Ubuntu Linux 機器上,一堆文件被錯誤地複製到具有完整 777 權限(使用者、組、其他 - 讀取、寫入、執行)的 USB 磁碟。我想把它們放回更正的使用者目錄中。

目錄應該是 775,所有其他文件可以是 664。所有文件都是圖像、文件或 MP3,因此它們都不需要可執行。如果設置了目錄位,則需要執行,否則只需要使用者和組,讀取和寫入。

我認為在編寫 shell 腳本之前檢查是否存在這樣的實用程序是值得的 :)

這應該可以解決問題:

find /home/user -type d -print0 | xargs -0 chmod 0775
find /home/user -type f -print0 | xargs -0 chmod 0664

find 可以單獨使用 -exec 來解決問題:

find /home/user -type f -exec chmod 0664 {} \;
find /home/user -type d -exec chmod 0775 {} \;

防止 find 為每個條目生成一個 chmod:

find /home/user -type f -exec chmod 0664 {} +
find /home/user -type d -exec chmod 0775 {} +

(這有效地呼叫 chmod 一次,將所有文件的列表作為參數,而不是每個文件一個 chmod)

引用自:https://serverfault.com/questions/35076