web-dev-qa-db-fra.com

Comment rendre un répertoire accessible en écriture en permanence?

J'utilise la pile LAMP pour le développement et j'ai du mal à rendre/var/www accessible en écriture en permanence. J'utilise cette commande:

Sudo chmod -R a+rwX /var/www

Cela fonctionne, mais après avoir mis une application Web et y avoir accédé via un navigateur, il affiche une erreur "autorisation refusée". Lorsque cela se produit, je dois exécuter à nouveau la commande.

Comment puis-je rendre le répertoire accessible en écriture, de manière permanente, sans avoir à relancer la commande?

Merci!

24
potomato

Les autorisations numériques peuvent résoudre votre problème.

Sudo chmod 775 'your directory'

si vous voulez savoir pourquoi seulement 775 voici votre réponse

400 read by owner
040 read by group
004 read by anybody
200 write by owner
020 write by group
002 write by anybody
100 execute by owner
010 execute by group
001 execute by anybody

 400
+040
+004
+200
+020
+100
+010
+001
=775

Il donnera toutes les autorisations sauf écrire par quiconque.

33
Diprute

J'ai eu le même problème alors

Sudo chmod 777 directory

résolu.

Cela rend le répertoire accessible en écriture, en lecture et en exécutable par n’importe qui. Donc, peu importe l'utilisateur ou le groupe qui l'a possédé ou utilisé, Lampp.

Toutefois, cela n'est pas recommandé si votre ordinateur est accessible au public.

9
Martin Cornel

Habituellement, la commande que vous avez utilisée devrait modifier les autorisations de manière permanente.

Essayez Sudo chmod -R 775 /var/www/ (qui est fondamentalement le même). Si cela ne fonctionne pas, vous devrez peut-être changer le propriétaire [et peut-être le groupe] du répertoire via Sudo chown <user>[:<group>] /var/www/.

En outre, vous pourriez envisager que "l'erreur d'autorisation refusée" soit due à des droits d'accès insuffisants dans votre base de données ou ailleurs.

8
David