autorisations par défaut pour / var / www

36

J'essayais d'ouvrir un fichier et d'écrire avec PHP dans le /var/wwwdossier mais cela ne fonctionnait pas, alors je l'ai fait.

sudo chmod 777 /var/www

Maintenant, je veux définir les autorisations pour /var/wwwla valeur par défaut.
à quoi servent les permissions par défaut /var/www?

Hossein Hosseinvand
la source
Je ne suis pas membre de serverfault, je ne peux donc pas commenter ni relancer la réponse. Mais cet article en dit long sur
Donato
Essayez de vérifier la documentation dans la page du wiki: Propriété et autorisations des fichiers et des répertoires pour le contenu Web.
huckbit

Réponses:

29

Les autorisations sur ce dossier sont:

chmod 755 /var/www/

et les fichiers dans le dossier sont:

chmod 644 /var/www/file
le chaos
la source
43

L'autorisation par défaut pour /var/wwwlui-même est assez standard: owner root:rootet mod 755.

En ce qui concerne quoi que ce soit à l' intérieur /var/www , il s'agit de l'un des rares répertoires dans lequel vous avez le privilège de décider vous-même de ce qu'il faut y mettre et des autorisations qu'il devrait avoir. Mais ce qui a le plus de sens, c'est:

  • La plupart des fichiers doivent pouvoir être écrits par l'utilisateur ou le groupe qui leur écrit le plus. Vous pouvez les configurer pour qu'ils appartiennent à votre compte d'utilisateur. Ou configurez un groupe personnalisé pour vos développeurs. Ou bien, si les fichiers sont rarement modifiés et que vous souhaitez une bonne sécurité, vous pouvez continuer root:rootet simplement vous connecter aux rares occasions où ils seront modifiés.

  • La plupart des fichiers ne doivent pas être accessibles en écriture mondiale. Donc, 644pour les fichiers et 755pour les répertoires est approprié (ou 664et 775si vous voulez donner un accès en écriture au groupe).

  • Il est pas recommandé de mettre tout cela pour être accessible en écriture par le serveur web, à savoir www-data, à l' exception de tous les fichiers spécifiques de vos scripts Web pour pouvoir écrire. Si tel est le cas, il est préférable de définir l'utilisateur ou le groupe de ces fichiers www-dataplutôt que de les rendre accessibles en écriture. Notez que chaque fois que l' www-datautilisateur peut écrire dans n'importe quel fichier de la racine Web, que ce soit en définissant l'utilisateur ou le groupe sur ces fichiers ou en les rendant accessibles en écriture, c'est un problème de sécurité potentiel. Le monde en écriture est le pire des deux.

thomasrutter
la source
2
La réponse la plus concluante ici a été votée
Chris
2
Voilà une très bonne réponse. :)
Banago
pour améliorer la réponse, pensez à ajouter des commandes pour définir les parmissions appropriées
Abraham Murciano Benzadon
Existe-t-il une fonction récursive capable de modifier tous les dossiers en 755 et les fichiers en 644 dans var / www?
Matthew Semik
Yep: stackoverflow.com/questions/18817744/… (la deuxième réponse est plus élégante que celle acceptée par l'OMI)
thomasrutter
9

Assurez-vous que le groupe est www-data sur '/ var / www'.

sudo chgrp www-data /var/www

Le rendre en écriture

sudo chmod 775 /var/www

définir l'identifiant du groupe pour les sous-dossiers

sudo chmod g+s /var/www

ajoutez votre nom d'utilisateur au groupe

sudo useradd -G www-data [USERNAME]
OR
usermod -a -G www-data [USERNAME]

donnez-vous la propriété

sudo chown [USERNAME] /var/www/
kamil
la source
9
Il ne s’agit pas des autorisations par défaut pour / var / www, et c’est une très mauvaise idée que de rendre la racine Web complète en écriture pour www-data. Ne le faites que lorsque les scripts Web ont besoin d'un accès en écriture pour des fichiers particuliers, et ne le faites donc que pour ces fichiers particuliers, et non pour la racine Web entière. Et le PO n'a pas dit qu'il devait faire cela, de toute façon, donc cela ne devrait pas être une recommandation du tout.
thomasrutter
3
De plus, c'est une très mauvaise idée de vous ajouter au groupe www-data et de traiter ce groupe de cette manière. Où avez-vous lu pour faire cela? C'est un conseil particulièrement mauvais, presque malicieusement. Créez vos propres groupes lorsque vous devez autoriser un groupe à accéder à quelque chose: ne réutilisez pas les groupes non privilégiés destinés à un usage interne par les démons.
thomasrutter
1
@neon_overload que recommandez-vous
aWebDeveloper
1
Justement, que recommanderiez-vous @neon_overload?
Banago
1
@Banago personnellement, je recommande un +1 :)
kamil
-2
sudo adduser $USER www-data
sudo chown root:root /var/www


sudo chown -R $USER:www-data /var/www/*
sudo chmod -R 755 /var/www
parmod
la source
4
En fonction du contenu, il peut être dangereux d’utiliser le -Rdrapeau ici. Puisque l'OP n'a pas utilisé l' -Rindicateur, nous ne devrions pas le recommander pour corriger les mauvaises autorisations créées. Le -Rdrapeau est rarement utile!
Zanna