Comment vérifier quel groupe Apache je peux utiliser pour le serveur Web pour écrire?


13

J'essaie de faire fonctionner Wordpress. J'ai actuellement ce message d'erreur:

Could not create directory. /var/www/html/wp-content/upgrade/theme_name

lorsque vous essayez de télécharger un thème. Il s'agit des autorisations définies sur/var/www/html/wp-content/upgrade/

drwxrwxr-x 3 ec2-user apache 4096 Jun 21 00:30 upgrade

chmod 777 upgradefait disparaître l'erreur. Mais cela n'est pas considéré comme la meilleure pratique. Cependant, je pense que cela devrait fonctionner aussi ... pourquoi pas?

Je suppose que le serveur Web peut ne pas être inclus par les autorisations ci-dessus. Quel groupe dois-je utiliser pour autoriser le serveur Web à écrire?

(Ma configuration est Amazon EC2, Amazon Linux AMI avec httpd)

Réponses:


16

Je ne sais rien d'Amazon EC2, mais vous devriez pouvoir:

  1. Récupérez le nom de l'utilisateur exécutant Apache avec une commande similaire à celle-ci:

    ps aux | grep apache # The username should be in the first column.
    
  2. Récupérez les groupes dont cet utilisateur fait partie avec la groups(1)commande:

    groups [USERNAME]
    

La première colonne est apache, et les groupes apache renvoient apache: apache. Une ligne de la première commande ressemble à ceci: apache 11171 0,0 3,4 39984 21516? S Jun20 0:02 / usr / sbin / httpd

1
L'utilisateur apache est clairement autorisé à écrire dans le répertoire. Vous dites que cela chmod 777résout le problème, donc je suppose que vous utilisez un autre utilisateur pour télécharger vos thèmes. Je ne connais pas très bien Wordpress. Selon cette réponse, essayez de changer de propriétaire en utilisateur www-data.
rahmu

Merci d'avoir pris le temps de rechercher l'article et tout. C'était en effet un utilisateur différent, car j'ai réalisé que Wordpress utilisait FTP pour faire son travail. J'ai découvert cet utilisateur par ce qui a été suggéré ci-dessous, puis y ai ajouté un groupe apache, découvert à l'étape 1. Cela l'a résolu.


1

La mise à niveau de chmod 777 fait disparaître l'erreur.

Eh bien, dans ce cas ls -ld /var/www/html/wp-content/upgrade/theme_name, les informations d'identification du créateur devraient être révélées, que vous pouvez utiliser pour l'octroi d'accès précis.

Et il vaut mieux l'utiliser 1777(comme pour /tmp) car au moins cela garantit que seul le propriétaire d'un fichier pourra le dissocier.


1
Faites disparaître l'erreur! Approche intéressante à la résolution de problèmes. Ce n'est pas une solution, c'est un mensonge.
iharob

Qu'appelez-vous «mensonge» - en citant le texte original de l'auteur? :) ou suggestion d'utiliser au moins 1777 au lieu de 777? :) ou découvrir la propriété du créateur et l'utiliser pour «accorder un accès précis»?
poige

C'est un mensonge pour le système, car ce 777n'est pas correct dans tous les contextes que je connaisse.
iharob
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.