我在设置一些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到任何子目录,我也不能删除它们。 我从来没有见过这样的事情,有人遇到类似的事情?
访问目录的内容(或者更具体地说,文件元数据除文件名外)要求该目录具有设置的执行位。
你的recursionchmod删除了这个权限,所以你失去了这个权限。 如果您使用的是chmod
的-R
选项,则最好避免使用数字版本的权限,而是运行(使用您所需的状态作为示例) chmod -R ug=rwX,o=rX
。 这里的大写字母X表示仅将X位设置在至less有一个x
集的目录或文件上。 除非你真的需要群组用户来写,否则你也可以使用644( u=rwX,go=rX
)。
从WordPress的文档 :
如果您具有对服务器的shell访问权限,则可以使用以下命令以recursion方式更改文件权限:
对于目录:
find /path/to/your/wordpress/install/ -type d -exec chmod 755 {} \;
对于文件:
find /path/to/your/wordpress/install/ -type f -exec chmod 644 {} \;