4 votes

Paramètres optimaux de propriété et de permission pour un répertoire de sites Web fonctionnant sous Apache.

J'utilise Ubuntu sur mon serveur virtuel et j'ai configuré un certain nombre de paramètres concernant mon sujet. Mais je ne suis pas vraiment sûr qu'ils soient correctement configurés.

Ma configuration actuelle est la suivante :

Apache2 :

export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
export APACHE_PID_FILE=/var/run/apache2.pid

J'ai lu des articles sur l'ajout d'un utilisateur supplémentaire, par exemple. sudo adduser apache qui fait tourner le serveur apache, alors quel est le bon choix ?

Annuaires de sites Web :

drwxr-xr-x 5 www-data:www-data 4.0K Feb  5 04:16 mysite/

Ce répertoire est par exemple placé dans /var/www . Mes paramètres de dossier dans le répertoire sont chmod 755 et mes fichiers sont 644 . Doit-il appartenir à www-data ou à mon nom d'utilisateur ?

Je serais heureux si vous pouviez me donner les meilleures pratiques en la matière. Merci pour vos conseils !

6voto

user69327 Points 11

La plus grande chose que j'ai apprise est de ne pas donner à Apache un accès en écriture à tout ce qui n'est pas nécessaire, par exemple les répertoires de cache, d'utilisateur ou de téléchargement dans lesquels vous pouvez charger des choses.

Alors prenez le contrôle de tout avec quelque chose comme sudo chown user:user sur le répertoire du site web et donnez le o autre bit les permissions nécessaires. . .

Remplacer user:user avec un utilisateur et un groupe que vous souhaitez.

Sur les répertoires, vous pouvez utiliser une commande comme :

sudo chmod o+rx /var/www/'directory' #make directory read and executable for other
sudo chmod o-wx /var/www/'directory'/'files' #remove write and execute from files
sudo chmod o+r  /var/www/'directory'/'files' #add read to files

Vous pouvez également utiliser un find qui est un peu avancée mais qui rend le travail un peu plus facile, quelque chose comme (après avoir possédé les fichiers avec) :

chown user:user /var/www/ -R # this is only an example.. 
  • répertoires

    find /var/www/ -type d -exec sudo chmod o+rx {} \;

  • fichiers

    find /var/www/ -type f -exec sudo chmod o-wx {} \; find /var/www/ -type f -exec sudo chmod o+r {} \;

J'ai essayé d'être aussi descriptif que possible. Je peux expliquer davantage si nécessaire. Cela parle des permissions à peu près à mi-chemin :

http://www.linuxforums.org/forum/servers/5270-apache-conf-html-permissions.html

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X