Il est très important d'attribuer des autorisations aux répertoires lors de la création d'un site Web, et c'est également quelque chose que les programmeurs qui créent des sites Web doivent savoir. L'article suivant résume principalement l'expérience et les compétences en matière d'attribution d'autorisations aux répertoires lors de la création d'un site Web sous Linux. . Amis qui en ont besoin Vous pouvez l'utiliser comme référence, jetons un coup d'œil ci-dessous.
Avant-propos
Lors de la recherche de sites Web sur Internet, la configuration des autorisations de dossier est généralement : autorisations de dossier, autorisations minimales 755, autorisations minimales de fichiers 644
Il est facile de comprendre que les fichiers sont lisibles, inscriptibles et exécutables, mais les autorisations des dossiers doivent être soigneusement triées. Voici quelques-unes de mes expériences à partager avec vous. Si vous en avez besoin, partageons-le. jetez un œil à l'introduction détaillée :
Travail préliminaire
Créez d'abord un dossier de test
mkdir test
Créez un fichier 1.txt dans ce répertoire et écrivez 111
cat > 1.txt 111
Maintenant, quittez le répertoire et analysez les autorisations du répertoire. par un
N'utilisez pas l'utilisateur root pour créer des dossiers, car la configuration des autorisations de fichiers n'est pas valide pour l'utilisateur root
Autorisations exécutables de le répertoire
chmod 111 test
Après test, pour le moment je ne peux que cd test
entrer dans le répertoire, mais je ne peux pas non plus lister le répertoire ni touch 2.txt
créer un nouveau fichier, mais cat 1.txt
peut toujours Après avoir lu le contenu
, nous concluons que les autorisations exécutables du répertoire
signifient que l'utilisateur peut entrer ou basculer vers le répertoire, mais ne peut pas répertorier le répertoire et créer de nouveaux fichiers. L'original Le fichier appartient au fichier avec les autorisations définies sur lecture
et les autorisations d'écriture du répertoire .
chmod 222 test
Le changement le plus intuitif est que la couleur du répertoire devient plus sombre (ps, la couleur deviendra également plus sombre lorsque le fichier recevra des autorisations exécutables)
Vous pouvez essayer certaines de nos commandes courantes
ls test cd test cat test/1.txt touch test/2.txt
Le résultat est que rien ne peut être fait
ubuntu@VM-8-81-ubuntu:~$ ls test ls: cannot open directory test: Permission denied ubuntu@VM-8-81-ubuntu:~$ cd test bash: cd: test: Permission denied ubuntu@VM-8-81-ubuntu:~$ cat test/1.txt cat: test/1.txt: Permission denied ubuntu@VM-8-81-ubuntu:~$ touch test/2.txt touch: cannot touch ‘test/2.txt': Permission denied
Maintenant, nous ajoutons des autorisations exécutables au répertoire modifié
chmod 333 test
avons constaté qu'à part que ls ne peut pas répertorier le répertoire normalement, le reste de cd touch cat
peut être exécuté, il est donc conclu que
Pour créer des fichiers dans le dossier Linux, vous devez disposer des autorisations d'écriture et d'exécution, c'est-à-dire que la taille de l'autorisation est de 333. Si vous donnez uniquement des autorisations d'écriture, rien ne peut être fait
Autorisations en lecture pour le répertoire
chmod 444 test
ubuntu@VM-8-81-ubuntu:~$ ls test ls: cannot access test/1.txt: Permission denied ls: cannot access test/2.txt: Permission denied 1.txt 2.txt ubuntu@VM-8-81-ubuntu:~$ cd test bash: cd: test: Permission denied ubuntu@VM-8-81-ubuntu:~$ cat test/1.txt cat: test/1.txt: Permission denied
Résumé : Autorisations de lecture pour le répertoire Peut répertorier les répertoires
Le site Web dispose uniquement d'une autorisation de lecture et ne peut répertorier que les autres. cd cat ne peut pas être exécuté. Alors, quelle est l'autorisation si le site Web est défini sur 555 ?
ubuntu@VM-8-81-ubuntu:~$ chmod 555 test ubuntu@VM-8-81-ubuntu:~$ cd test/ ubuntu@VM-8-81-ubuntu:~/test$ ls 1.txt 2.txt ubuntu@VM-8-81-ubuntu:~/test$ touch 3,txt touch: cannot touch ‘3,txt': Permission denied
Comme vous pouvez le voir, sauf que la commande touch ne peut pas en créer de nouveaux. fichiers, d'autres commandes peuvent encore être exécutées
À ce stade, il est facile de déduire que le dossier avec 666 autorisations est lisible et inscriptible mais pas exécutable. Autorisations, vous ne pouvez pas entrer dans le répertoire, mais il est lisible et exécutable. accessible en écriture, et les autorisations de base sont toutes là. Les autorisations 777 sont les autorisations maximales pour le dossier
Quand je regarde en arrière et analyse la première phrase de l'article, lors de la création du site Web, les autorisations minimales d'un dossier sont 755, et les autorisations minimales d'un fichier sont 644
Il y a un problème d'attribution des autorisations utilisateur
Lorsque chmod modifie les autorisations, chaque fichier ou répertoire a trois ensembles d'autorisations d'accès, chaque groupe est représenté par trois chiffres, qui sont les autorisations de lecture, d'écriture et d'exécution du propriétaire du fichier ; les autorisations de lecture, d'écriture et d'exécution des utilisateurs du même groupe que le propriétaire ; les autorisations de lecture, d'écriture et d'exécution des autres utilisateurs du système
Les autorisations de dossier 7 et les autorisations de fichier 6 sont attribuées aux utilisateurs de gestion Linux. Apache utilise par défaut www les utilisateurs ordinaires pour accéder au site Web, de sorte que les autorisations de fichier 755 signifient que les utilisateurs ordinaires peuvent uniquement afficher et parcourir le site Web, mais pas les autorisations. pour créer ou télécharger des fichiers. Généralement, si vous avez besoin d'un dossier spécial tel qu'un dossier de téléchargement ou tmp pour stocker certains fichiers temporaires, vous devez définir les autorisations du dossier sur 777 et les autorisations des fichiers sur 644, ce qui signifie que vous ne pouvez que visualiser mais pas. modifierCe 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!