Linux

chmod -R 由於某種原因使子文件夾中的文件不可讀

  • September 30, 2015

在設置一些 WordPress 主題時,我正在調整權限,並執行chmod 664 -R theme-dir/*它在目錄根目錄中的文件上執行良好,但是子目錄中的所有文件現在讀取如下ls -l

?---------  ? ? ? ?            ? core_functions.php
?---------  ? ? ? ?            ? css
?---------  ? ? ? ?            ? custom_functions.php
?---------  ? ? ? ?            ? images
?---------  ? ? ? ?            ? import_settings.php
?---------  ? ? ? ?            ? js
?---------  ? ? ? ?            ? options_trim.php
?---------  ? ? ? ?            ? page_templates
?---------  ? ? ? ?            ? post_thumbnails_trim.php
?---------+ ? ? ? ?            ? shortcodes

我不能 cd 到任何子目錄,也不能刪除它們。我從來沒有見過這樣的事情,有人遇到過類似的事情嗎?

訪問目錄的內容(或更具體地說,文件元數據,文件名除外)需要該目錄設置執行位。

您的遞歸 chmod 刪除了該權限,因此您失去了該訪問權限。如果您使用的-R選項chmod最好避免使用數字版本的權限,而是執行(以您想要的狀態為例)chmod -R ug=rwX,o=rX。那裡的大寫 X 表示僅在具有至少一x組的目錄或文件上設置 X 位。u=rwX,go=rX此外,除非您確實需要組使用者來編寫,否則您可能希望使用 644 ( )。

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