Я настраивал разрешения при настройке некоторых тем 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
Я не могу перейти на любой из подкаталогов, и я также не могу удалить их. Я никогда не видел ничего подобного, кто-нибудь сталкивался с чем-то подобным?
chmod -R u+rwX,go+rX,go-w theme-dir/*
Ответы:
Для доступа к содержимому (или, более конкретно, к метаданным файла, за исключением имени файла) каталога требуется, чтобы в каталоге был установлен бит выполнения.
Ваш рекурсивный chmod удалил это разрешение, поэтому вы потеряли этот доступ. Если вы используете
-R
опцию,chmod
лучше избегать использования числовой версии разрешений и вместо этого запускать (используя в качестве примера желаемое состояние)chmod -R ug=rwX,o=rX
. Заглавная буква X означает, что бит X установлен только для каталогов или файлов, в которых есть хотя бы одинx
набор. Также вы можете захотеть использовать 644 (u=rwX,go=rX
), если вам не нужны групповые пользователи для написания.источник
Из документации Wordpress :
Если у вас есть доступ оболочки к вашему серверу, вы можете рекурсивно изменять права доступа к файлам, используя следующие команды:
Для каталогов:
Для файлов:
источник