J'ajustais les autorisations lors de la configuration des thèmes WordPress et couru chmod 664 -R theme-dir/*
Il a bien fonctionné sur les fichiers dans la racine du répertoire, mais tous les fichiers dans les sous - répertoires lu maintenant comme ça quand je ls -l
:
?--------- ? ? ? ? ? core_functions.php
?--------- ? ? ? ? ? css
?--------- ? ? ? ? ? custom_functions.php
?--------- ? ? ? ? ? images
?--------- ? ? ? ? ? import_settings.php
?--------- ? ? ? ? ? js
?--------- ? ? ? ? ? options_trim.php
?--------- ? ? ? ? ? page_templates
?--------- ? ? ? ? ? post_thumbnails_trim.php
?---------+ ? ? ? ? ? shortcodes
Je ne peux pas accéder à l'un des sous-répertoires et je ne peux pas non plus les supprimer. Je n'ai jamais rien vu de tel, quelqu'un a-t-il déjà rencontré quelque chose de similaire?
chmod -R u+rwX,go+rX,go-w theme-dir/*
Réponses:
L'accès au contenu (ou plus précisément aux métadonnées de fichier, à l'exception du nom de fichier) d'un répertoire nécessite que le répertoire ait le bit d'exécution défini.
Votre chmod récursif a supprimé cette autorisation, vous avez donc perdu cet accès. Si vous utilisez l'
-R
option de, ilchmod
vaut mieux éviter d'utiliser la version numérique des autorisations et exécuter à la place (en utilisant votre état souhaité comme exemple)chmod -R ug=rwX,o=rX
. Le X majuscule signifie définir le bit X uniquement sur les répertoires ou les fichiers qui ont au moins unx
ensemble. Vous pouvez également utiliser 644 (u=rwX,go=rX
) à moins que vous n'ayez vraiment besoin des utilisateurs du groupe pour écrire.la source
De la documentation Wordpress :
Si vous disposez d'un accès shell à votre serveur, vous pouvez modifier les autorisations de fichier de manière récursive à l'aide des commandes suivantes:
Pour les répertoires:
Pour les fichiers:
la source