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

27

J'utilise la pile LAMP pour le développement et j'ai un problème avec la possibilité d'écrire / var / www en écriture permanente. 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, elle affiche une erreur "autorisation refusée". Lorsque cela se produit, je dois à nouveau exécuter la commande.

Comment rendre le répertoire accessible en écriture, de façon permanente, sans avoir à relancer la commande?

Merci!

pomme de terre
la source
1
créer un sous-dossier dans /var/wwwet changer le permisson pour ce répertoire. Cela devrait résoudre le problème
Anam Ahmed
5
En fait, vous ne devriez jamais rendre la racine Web accessible en écriture. Voir Pour des raisons de sécurité, pourquoi / var / www ne devrait-il pas avoir chmod 777?
Goran Miskovic
voici quelques bons commentaires ci-dessus ... compte tenu des raisons de sécurité, vous devez conserver l'autorisation de /var/wwwrwxr-xr-x par défaut et vous déplaceriez probablement les fichiers requis dans un sous-répertoire /var/wwwet apporter des modifications à vos fichiers * html en conséquence pour les modifications que vous avez apportées à la racine du document.
précis

Réponses:

39

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 l'écriture par quiconque.

Diprute
la source
9

J'ai eu le même problème

sudo chmod 777 directory

résolu.

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

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

M Cornel
la source
8

Habituellement, la commande que vous avez utilisée doit modifier définitivement les autorisations.

Essayez sudo chmod -R 775 /var/www/(ce 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 considérer que «l'erreur d'autorisation refusée» pourrait être causée par des droits d'accès insuffisants dans votre base de données ou ailleurs.

David
la source
Mais comme @schkovich l'a déjà mentionné, vous ne devez pas rendre le dossier racine Web accessible en écriture.
David
13
+ Rinzwind J'ai utilisé le 777 et j'attends patiemment votre visite.
Marcel
cela a fonctionné pour moi si je l'utilise sans sudo chmod -R 775 my_folder
barre oblique,
@Marcel est maintenant mort, @ Rinzwind l'a terminé
Dheeraj
2
@Marcel, comment savons-nous que c'est vous, et si @ Rinzwind a déchiré le visage de Marcel et l'a porté.
Dheeraj