Maison >cadre php >Laravel >Savez-vous comment définir les autorisations du répertoire Laravel ? (deux méthodes)

Savez-vous comment définir les autorisations du répertoire Laravel ? (deux méthodes)

藏色散人
藏色散人avant
2021-11-02 15:40:313299parcourir

Si vous accordez des autorisations 777 sur n'importe quel dossier, cela permet à quiconque de lire, de modifier et d'exécuter n'importe quel fichier du répertoire. Cela signifie que vous avez donné à quiconque (tout pirate informatique ou personne malveillante dans le monde entier) la permission de télécharger n'importe quel fichier, virus ou tout autre fichier, puis d'exécuter ce fichier.

Si vous définissez les autorisations de votre dossier sur 777, alors vous avez ouvert votre serveur à toute personne pouvant trouver ce répertoire. J'ai compris?

Le logo Anyone désigne n’importe quel utilisateur, pas n’importe qui. Vous avez toujours besoin d'un accès au serveur.

Il existe essentiellement deux façons de définir votre propriété et vos autorisations. Soit vous vous accordez la propriété, soit vous faites du serveur Web le propriétaire de tous les fichiers.

[Recommandations associées : Les cinq derniers didacticiels vidéo Laravel]

Serveur Web en tant que propriétaire (ce que font la plupart des gens et ce que fait la doc Laravel) :

Supposons quewww-data est l'utilisateur de votre service Web (également disponible. Cela peut être un autre nom).

sudo chown -R www-data:www-data /path/to/your/laravel/root/directory

Si vous faites cela, les fichiers appartenant au service Web deviendront également ce groupe, il y aura donc des problèmes lorsque vous utiliserez FTP pour télécharger des fichiers, car le client FTP utilisera votre compte pour vous connecter, pas votre site Web. service , vous devez donc ajouter votre utilisateur au groupe d'utilisateurs du service Web.

sudo usermod -a -G www-data ubuntu

Bien sûr, cela suppose que votre service Web s'exécute en tant qu'utilisateur www-data (Homestead par défaut) et que votre utilisateur est Ubuntu (ou vagabond s'il est à Homestead). Définissez ensuite tous vos répertoires sur 755 et tous vos fichiers sur 644.

sudo find /path/to/your/laravel/root/directory -type f -exec chmod 644 {} \;

Définir les autorisations du répertoire

sudo find /path/to/your/laravel/root/directory -type d -exec chmod 755 {} \;

Votre utilisateur en tant que propriétaire

Je préfère posséder tous les répertoires et fichiers (cela facilite la gestion de tout), alors allez dans le répertoire racine de Laravel :

cd /var/www/html/laravel >> assuming this is your current root directory
sudo chown -R $USER:www-data .

Ensuite, je me suis donné et au serveur Web deux autorisations :

sudo find . -type f -exec chmod 664 {} \;   
sudo find . -type d -exec chmod 775 {} \;

Ensuite, j'ai donné au serveur Web des autorisations de lecture et d'écriture pour stocker et mettre en cache

Peu importe la façon dont vous l'avez configuré, vous devez donner au serveur Web des autorisations de lecture et d'écriture afin de stocker , le cache et tout autre répertoire dans lequel le serveur du site Web doit télécharger ou écrire (selon votre situation), alors exécutez la commande suivante :

sudo chgrp -R www-data storage bootstrap/cache
sudo chmod -R ug+rwx storage bootstrap/cache

Maintenant, votre site Web est sécurisé et vous pouvez facilement gérer ces fichiers

Adresse d'origine : https://stackoverflow.com/questions/30639174/how-to-set-up-file-permissions-for-laravel

Adresse de traduction : https://learnku.com/laravel/t/62112

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer