web-dev-qa-db-fra.com

Correction des autorisations permanentes pour Nginx

J'ai des problèmes avec les autorisations dans le répertoire/var/www/html. Le problème principal est que, chaque fois que je crée un nouveau fichier, je devais donner l'autorisation 777 pour échapper à l'erreur 403 interdite. Existe-t-il un correctif permanent pour tous les fichiers et sous-répertoires du répertoire/var/www/html?.

J'ai vraiment besoin de votre aide, alors espérons que vous connaissez la solution.

Merci!

1
Alex Sadovskyi

Pour éviter de toujours devoir définir les autorisations manuellement, vous pouvez utiliser la commande setfacl pour vous assurer que les futurs dossiers et fichiers obtiendront le contrôle d'accès par défaut que vous avez défini.

Les étapes comprennent:

  1. Changer la configuration actuelle:

    Sudo chown -R www-data:www-data /var/www/html
    
  2. Ajoutez-vous à ce groupe:

    Sudo useradd www-data $USER
    
    • Déconnectez-vous et reconnectez-vous pour que cela prenne effet ou redémarrez si ce n'est pas le cas.
  3. Définir le facl par défaut (liste de contrôle d'accès aux fichiers)

    Sudo setfacl -d -R -m u:www-data:rwx,g:www-data:r-x,o::r-x /var/www/html
    
    • Faites Sudo getfacl /var/www/html pour voir les changements

Remarque: Ceci définira les autorisations par défaut sur 755

0
George Udosen

Quel utilisateur possède les fichiers? Si c'est autre chose que www-data (ou quelle que soit la valeur jamais définie pour user dans /etc/nginx/nginx.conf), vous devez donner des autorisations à tous les utilisateurs, ce qui correspond au dernier chiffre de autorisations octales). , ou changez le propriétaire des fichiers/dossiers.

Pour changer le propriétaire en www-data, faites: chown www-data:www-data -R /var/www/html/.

Si vous ne voulez pas changer le propriétaire, vous pouvez faire chmod 664 -R /var/www/html/.
Le 4 à la fin signifie que tous les utilisateurs peuvent lire le fichier/dossier et que Nginx pourra donc afficher les fichiers sans les modifier.

0
Carlgo11