chmod -R делает файлы в дочерних папках неустойчивыми по какой-либо причине

Я настраивал разрешения при настройке некоторых тем 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

Я не могу подключиться к любому из подкаталогов, и я также не могу их удалить. Я никогда не видел ничего подобного, кто-нибудь сталкивался с чем-то подобным?

22 голоса | спросил Sal 29 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 29 Sep 2015 17:25:19 +0300 2015, 17:25:19

2 ответа


49

Доступ к содержимому (или, более конкретно, метаданных файла, за исключением имени файла) каталога требует, чтобы в каталоге был установлен бит выполнения.

Рекурсивный chmod удалил это разрешение, поэтому вы потеряли этот доступ. Если вы используете опцию -R chmod лучше избегать использования числовой версии разрешений и вместо этого запускать (используя ваше желаемое состояние в качестве примера) chmod -R ug=rwX,o=rX. Столица X означает, что бит X установлен только в каталогах или файлах, имеющих по крайней мере один набор x. Также вы можете использовать 644 (u=rwX,go=rX), если вам действительно не нужны пользователи группы.

ответил Kevin Cathcart 29 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 29 Sep 2015 17:40:18 +0300 2015, 17:40:18
13

Из документации Wordpress :

Если у вас есть доступ к оболочке на ваш сервер, вы можете изменить права доступа к файлам с помощью следующих команд:

Для каталогов:

find /path/to/your/wordpress/install/ -type d -exec chmod 755 {} \;

Для файлов:

find /path/to/your/wordpress/install/ -type f -exec chmod 644 {} \;
ответил bentek 29 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 29 Sep 2015 17:39:18 +0300 2015, 17:39:18

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132