web-dev-qa-db-fra.com

Autorisations et propriété

Donc, tout le monde et son chat sont au sujet des autorisations dans la structure de dossiers Web. La question la plus populaire est celle qui concerne Pratiques recommandées . Great post et je comprends l'importance de régler 755 pour les répertoires et 644 pour les fichiers. Même le Joomla Paramètres recommandés se réfèrent à ces ensembles d'autorisations. J'ai fait ça et c'est facile.

Ceci est très lié à une autre question de la mienne où j'essayais de définir les autorisations des autorisations de répertoire en écriture. Au départ, j'ai paramétré le propriétaire de tout mon site Web sur "Apache", ce qui a fonctionné. Cependant, j'ai appris depuis que c'est une mauvaise pratique, même sur un environnement d'hébergement dédié.

Un article de blog de Dionysopoulos explique comment changer cela à l'aide des fichiers propriétaire et .htaccess. Sur le changement off que post est jamais cassé les étapes qu'il suggère sont énumérées ci-dessous:

La bonne approche est douloureuse et prend du temps. Vous avez besoin de tous vos fichiers et répertoires appartenant à l'utilisateur de votre compte (c'est-à-dire, utilisez FTP pour les télécharger), à l'exception de ceux pour lesquels vous devez être en mesure d'écrire. Puisque nous parlons de Joomla! ici, procédez comme suit:

  • Supprimer les répertoires cache, tmp et logs

  • Installez Joomla! eXtplorer ou NinjaXplorer sur votre site. Ces gestionnaires de fichiers fonctionnent dans Joomla !, par conséquent, sous le même utilisateur et le même groupe que votre serveur Web.

  • Créez les répertoires cache, tmp et logs à l'aide de l'un de ces gestionnaires de fichiers. Ces répertoires appartiennent maintenant à l'utilisateur du serveur Web.

  • Donnez-leur temporairement 777 autorisations, en utilisant à nouveau ces gestionnaires de fichiers.

  • Utilisez votre programme FTP préféré pour créer un fichier .htaccess dans chacun de ces répertoires avec le contenu suivant:

order deny, allow deny from all

  • Donnez à ce fichier les autorisations 0644 à l'aide du programme FTP.

  • Retournez au gestionnaire de fichiers (eXtplorer ou NinjaXplorer) et donnez les autorisations pour les répertoires cache, tmp et logs 0700. Remarque: vous devrez peut-être attribuer des autorisations 0744 au répertoire de cache et supprimer le fichier .htaccess pour que certains plug-ins d'agrégation et de compression CSS/JS fonctionnent. Je considère cela comme une pratique affreuse, mais cela semble être la seule solution de contournement… Si vous demandez myopinion, désinstallez le plug-in en question.

  • Accédez à la configuration globale de Joomla! Et activez la couche FTP. Ne stockez pas votre mot de passe!

Se rendre au point

À partir de ce moment, les seuls répertoires accessibles en écriture que je possède sont cache, tmp et log, qui sont protégés par .htaccess en fonction des instructions ci-dessus. La partie sur laquelle je suis floue est la suivante: Vous avez besoin de tous vos fichiers et répertoires appartenant à l’utilisateur de votre compte. Actuellement, il est défini sur root. Je veux faire ça bien. Joomla Security n'a pas tardé à être très important. Ci-dessous, vous trouverez ll (jrt et wood sont respectivement mon tmp et mon journal. Je les ai lus, ils devraient être remplacés par défaut.)

drwxr-xr-x. 10 root   Apache  4096 Oct  1 06:52 administrator
drwxr-xr-x.  2 root   Apache  4096 Oct  1 06:52 bin
drwxr-xr-x.  2 Apache apache  4096 Jan 18 20:07 cache
drwxr-xr-x.  2 root   Apache  4096 Oct  1 06:52 cli
drwxr-xr-x. 19 root   Apache  4096 Jan 18 19:39 components
-rw-r--r--.  1 root   Apache  2750 Jan 16 20:39 configuration.php
-rw-r--r--.  1 root   Apache  2859 Oct  1 06:52 htaccess.txt
drwxr-xr-x.  5 root   Apache  4096 Oct  1 06:52 images
drwxr-xr-x.  2 root   Apache  4096 Oct  1 06:52 includes
-rw-r--r--.  1 root   Apache  1013 Oct  1 06:52 index.php
-rw-r--r--.  1 root   Apache  1910 Oct  1 06:52 joomla.xml
drwxr-xr-x.  2 Apache apache  4096 Jan 18 20:04 jrt
drwxr-xr-x.  4 root   Apache  4096 Oct  1 06:52 language
drwxr-xr-x.  4 root   Apache  4096 Oct  1 06:52 layouts
drwxr-xr-x. 14 root   Apache  4096 Jan 17 23:38 libraries
-rw-r--r--.  1 root   Apache 17816 Oct  1 06:52 LICENSE.txt
drwxr-xr-x. 20 root   Apache  4096 Jan 17 23:38 media
drwxr-xr-x. 28 root   Apache  4096 Oct  1 06:52 modules
drwxr-xr-x. 15 root   Apache  4096 Jan 17 23:28 plugins
-rw-r--r--.  1 root   Apache  4310 Oct  1 06:52 README.txt
-rw-r--r--.  1 root   Apache   842 Oct  1 06:52 robots.txt.dist
drwxr-xr-x.  5 root   Apache  4096 Oct  1 06:52 templates
-rw-r--r--.  1 root   Apache    86 Jan 17 16:49 test.php
-rw-r--r--.  1 root   Apache  1609 Oct  1 06:52 web.config.txt
drwxr-xr-x.  2 Apache apache  4096 Jan 18 20:06 wood

Qui devrait être le propriétaire des répertoires qui n'ont pas besoin d'être en écriture tout le temps?

3
Matt

Les fichiers doivent appartenir à votre utilisateur FTP, qui peut être root pour vous si vous configurez manuellement un serveur dédié.

Le but de cet article était de vous permettre de modifier les fichiers. Dans ce cas, "vous" est censé être quelqu'un accédant à un hôte partagé via FTP. Vous n'êtes pas censé avoir un accès root au serveur.

3
David Fritsch