DROITS : Répetoires/fichiers pour sites web

Quels droits attribuer à un dossier/fichiers pour un site web stockés dans le /home?

Où est l’astuce, le Truc & machin chose … ?

Un novice ne devrait-il pas lire les règles du forum ?


[mono]$ man man[/mono]

[quote]MAN(1) Utilitaires de l’afficheur des pages de manuel MAN(1)

NOM
man - Interface de consultation des manuels de référence en ligne

[…]
[/quote]

Merci de déplacer ce sujet dans une autre section

Je crois qu’il n’y a aucune différence quant au lieu de stockage des fichiers/dossiers.
La seule contingence c’est la possibilité d’accès au gestionnaire, donc si c’est TON /home, pas de problème, il me semble.
Éventuellement, je te donne ce qu’il en est chez moi MAIS les fichiers sont dans /var/www.
Proprio = root
groupe = www-data
Les dossiers sont en 750
Les fichiers sont en 640

-rw-r----- 1 root www-data 3015 janv. 10 2014 FICHIER.html
drwxr-x— 2 root www-data 4096 août 7 2011 DOSSIER

Le péquin qui visite mon site a bien accès à FICHIER.html, seule chose importante.

Éventuellement, par mesure de praticité, tu peux te placer dans le groupe www-data.

Le module userdir d’apache résoud justement ce problème. En l’activant (a2enmod userdir), tu n’as pas besoin de changer les droits des sites web dans /home, apache arrivera à lire les fichiers de ces sites web.

Il faut aussi éditer le fichier /etc/apache2/mods-available/userdir.conf pour indiquer à apache où se trouve les sites web dans /home/utilisateur/

Exemple userdir.conf :

<IfModule mod_userdir.c>
        UserDir public_html
        UserDir disabled root

        <Directory /home/*/public_html>
                AllowOverride FileInfo AuthConfig Limit Indexes All
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
                <Limit GET POST OPTIONS>
                        Order allow,deny
                        Allow from all
                </Limit>
                <LimitExcept GET POST OPTIONS>
                        Order deny,allow
                        Deny from all
                </LimitExcept>
        </Directory>
</IfModule>

=> Donc pour l’utilisateur unix toto par exemple, il devra mettre le dossier de son site web, càd exemple.com dans /home/toto/public_html/exemple.com/.

Après édition du fichier userdir.conf, ne pas oublier de redémarrer apache.

Ce qu’il ne faut surtout pas, c’est que les fichiers soient accessibles en mode éxécutable par contre.

Ça n’a pas grande importance pour du contenu statique.
Cependant, pour des services divers, j’ai toujours eu de bons résultats pour l’instant avec le groupe www-data (nginx)

je suis sous nginx, je vais revoir les droits, root/www-data me conviennent bien!

Avec root:www-data, pas sûr que ça soit accessible selon la web-application utilisée. www-data:www-data fonctionne bien. Mais forcément c’est à adapter selon tes besoins.

Modification faite pour www-data:www-data avec ajout du user dans le groupe pour plus de praticité comme le fait remarquer Ricardo.

Par contre, j’ai déjà des dossiers/fichiers dans ce répetoire web, je ne vois pas comment changer les droits en 640 pour les fichiers et en 750 pour les répertoires?

Est-ce possible en ligne de commandes ou faut-il passer par un script du genre “si répertoire alors droits 750, si fichiers alors droits 640”.

[quote=“M3t4linux”]je ne vois pas comment changer les droits en 640 pour les fichiers et en 750 pour les répertoires?

Est-ce possible en ligne de commandes[/quote]

[mono]$ man chmod[/mono]

[quote]NOM
chmod - Modifier les bits de comportement de fichier

SYNOPSIS
chmod [OPTION]… MODE[,MODE]… FICHIER…
chmod [OPTION]… MODE-OCTAL FICHIER
chmod [OPTION]… --reference=FICHIER-R FICHIER

DESCRIPTION
Cette page de manuel documente la version GNU du programme chmod. Le programme chmod modifie les bits de comportement de fichier de chacun des fichiers indiqués, en
suivant l’indication de mode, qui peut être une représentation symbolique des changements à effectuer, ou un nombre octal représentant le motif binaire des nouveaux
bits de comportement.

   Le  format  d'un mode symbolique [ugoa...][[+-=][permissions...]...], où permissions vaut soit zéro, soit plusieurs lettres de l'ensemble rwxXst, soit une seule lettre
   de l'ensemble ugo. Plusieurs modes symboliques peuvent être indiqués ensemble, séparés par des virgules.

   Une combinaison des lettres ugoa contrôle la catégorie d'accès à modifier. Il peut s'agir de l'utilisateur possédant le fichier (u), des autres  utilisateurs  du  même
   groupe que le fichier (g), des utilisateurs n'appartenant pas au groupe du fichier (o), ou de tous les utilisateurs (a). Si aucune catégorie n'est indiquée, a est pris
   par défaut, mais les bits correspondant à des bits à 1 de l'umask ne sont pas affectés.

   L'opérateur + ajoute à chaque fichier les bits de comportement de fichier spécifiés à ceux déjà existants, l'opérateur - les enlève, et l'opérateur = les  ajoute  tout
   en  supprimant  ceux  qui n'ont pas été indiqués. Dans ce dernier cas, les bits d'emprunt des identifiants d'utilisateur et de groupe d'un répertoire ne sont toutefois
   pas affectés.

   Les lettres rwxXst sélectionnent les bits de comportement de fichier des utilisateurs concernés : lecture (r), écriture (w), exécution (ou recherche  pour  les  réper‐
   toires) (x), exécution/recherche uniquement si le fichier est un répertoire ou s'il a déjà une autorisation d'exécution pour une des catégories d'utilisateur (X), spé‐
   cification de l'identifiant du propriétaire ou du groupe propriétaire du fichier lors de l'exécution (s), du drapeau de suppression restreinte ou du bit sticky (t).  À
   la place de ces lettres, vous pouvez indiquer une et une seule des lettres de l'ensemble ugo : les permissions dont dispose le propriétaire du fichier (u), les permis‐
   sions dont disposent les autres membres du groupe propriétaire du fichier (g) et des permissions dont disposent tous les autres utilisateurs (o).

   La valeur pour le mode numérique est constituée de 1 à 4 chiffres en octal (0 à 7), calculés en additionnant les bits de valeurs 4, 2 et  1,  tout  bit  non  mentionné
   étant considéré comme des zéros en début de chaîne. Le premier chiffre correspond aux attributs identifiant de l'utilisateur (4), identifiant du groupe (2) et suppres‐
   sion restreinte ou bit sticky (1). Le second chiffre correspond aux autorisations de lecture (4), écriture (2) et exécution  (1)  pour  l'utilisateur  propriétaire  du
   fichier.  Les troisième et quatrième chiffres correspondent respectivement aux autorisations d'accès pour les membres du groupe du fichier, et pour les autres utilisa‐
   teurs. Les valeurs ont les mêmes significations que pour le deuxième chiffre.

Le programme chmod ne modifie jamais les autorisations des liens symboliques, l’appel système chmod ne pouvant pas les modifier. Ceci n’est pas un problème puisque ces
autorisations ne sont jamais prises en compte. Cependant, pour chaque lien symbolique mentionné sur la ligne de commande, chmod modifie les autorisations d’accès du
fichier cible. En revanche, chmod ignore purement et simplement les liens symboliques qu’il rencontre lors des descentes récursives de répertoires.
[/quote]

[quote=“M3t4linux”]Par contre, j’ai déjà des dossiers/fichiers dans ce répetoire web, je ne vois pas comment changer les droits en 640 pour les fichiers et en 750 pour les répertoires?

Est-ce possible en ligne de commandes ou faut-il passer par un script du genre “si répertoire alors droits 750, si fichiers alors droits 640”.[/quote]
L’idéal ici serait de passer par find, avec quelque chose dans le genre :

find /chemin/vers/repertoire/web -type d -execdir chmod 750 {} + find /chemin/vers/repertoire/web -type f -execdir chmod 640 {} +

Tu en as tant que ça que tu ne puisses le faire a la mano ?