Я настраивал разрешения при настройке некоторых тем 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
Я не могу перейти ни в один из подкаталогов, и я также не могу удалить их. Я никогда не видел ничего подобного, кто-нибудь сталкивался с чем-то подобным?
решение1
Для доступа к содержимому (или, точнее, к метаданным файла, за исключением имени файла) каталога необходимо, чтобы для каталога был установлен бит выполнения.
Ваш рекурсивный chmod удалил это разрешение, поэтому вы потеряли этот доступ. Если вы используете опцию , -R
лучше chmod
избегать использования числовой версии разрешений и вместо этого запустить (используя желаемое состояние в качестве примера) chmod -R ug=rwX,o=rX
. Заглавная буква X здесь означает установку бита X только для каталогов или файлов, которые имеют хотя бы один x
набор. Также вы можете использовать 644 ( u=rwX,go=rX
), если вам действительно не нужны пользователи группы для записи.
решение2
Если у вас есть доступ к оболочке вашего сервера, вы можете рекурсивно изменить права доступа к файлам, используя следующие команды:
Для каталогов:
find /path/to/your/wordpress/install/ -type d -exec chmod 755 {} \;
Для файлов:
find /path/to/your/wordpress/install/ -type f -exec chmod 644 {} \;