Table des matières
1. Autorisations Nginx du serveur Web
二、php的权限配置
三、MySQL服务的权限配置
Deuxièmement, configuration des autorisations PHP
Maison développement back-end tutoriel php Organisez et résumez la division des autorisations de nginx, php-fpm, mysql, etc.

Organisez et résumez la division des autorisations de nginx, php-fpm, mysql, etc.

Jun 14, 2022 pm 12:17 PM
mysql php php-fpm nginx

Cet article parlera des connaissances de base de PHP et aura une compréhension approfondie des autorisations utilisateur de nginx, php-fpm et mysql. J'espère qu'il sera utile à tout le monde !

Organisez et résumez la division des autorisations de nginx, php-fpm, mysql, etc.

Normalement, les serveurs sur lesquels nous exécutons des applications Web incluent des distributions Linux telles que CentOS, Ubuntu, Debian, etc. À l'heure actuelle, le contrôle des autorisations de Nginx, PHP, MySQL et d'autres applications nécessaires à la formation de l'architecture du service est très important. Chaque service a des exigences d'autorisation différentes pour le répertoire de code. L'absence de certaines autorisations entraînera le service. être incapable de lire, d'écrire ou d'exécuter. Faux, réduire les exigences d'autorisation entraînera un danger caché d'être piraté et modifié. Nous résumerons ici la division des autorisations de services tels que nginx, php-fpm et mysql.

1. Autorisations Nginx du serveur Web

Le cadre d'exploitation de PHP est généralement combiné avec Nginx pour former LNMP ou combiné avec Apache pour former l'architecture LAMP. Ici, Nginx est utilisé comme exemple pour décrire les autorisations requises pour exécuter le service Nginx.
Nous savons que Nginx lui-même ne peut pas analyser la syntaxe PHP, donc Nginx analysera et renverra directement les résultats pour les fichiers statiques (tels que HTML, etc.), mais pour les fichiers PHP, Nginx les transférera vers l'interpréteur PHP php-fpm pour traitement . Une fois terminé, renvoyez la réponse au navigateur client.

Par conséquent, nous devons unifier les autorisations requises pour les services Nginx et PHP dans le répertoire de code.

① Si l'utilisateur root est utilisé de manière uniforme, les comptes invités généraux ne pourront pas accéder à l'application. Si nginx est configuré pour s'exécuter en tant que root, il y aura de grands risques de sécurité. Une fois attaqué, l'identité root sera obtenue. effectuer toutes les opérations sur le système.

② Si toutes les autorisations du répertoire de code sont définies sur rwxrwxrwx, il existe un danger caché que les utilisateurs puissent modifier le répertoire de code directement via le navigateur.

Le meilleur moyen est donc de

les classer dans un nouveau groupe d'utilisateurs et d'attribuer les autorisations nécessaires pour exécuter Nginx et PHP au groupe d'utilisateurs afin de gérer le répertoire d'autorisations pour les applications Web. Habituellement, de nombreuses équipes nommeront ce groupe d'utilisateurs www, et l'utilisateur www gérera uniformément les autorisations du répertoire de codes. Nous pouvons voir que les autorisations d'exécution divisées dans le fichier de configuration Nginx nginix.conf sont configurées sous l'utilisateur www, de sorte que le processus enfant Nginx est également exécuté par l'utilisateur www, qui peut être exécuté via ps aux | grep nginx pour afficher :

Organisez et résumez la division des autorisations de nginx, php-fpm, mysql, etc.nginix.conf里面划分的运行权限就是配置到了www用户下,因此Nginx的子进程也是由www用户执行,可以通过ps aux | grep nginx来查看:

Organisez et résumez la division des autorisations de nginx, php-fpm, mysql, etc.

可以看到nginx的主进程是root,其余子进程均是www的用户

nginx.conf的配置:

Organisez et résumez la division des autorisations de nginx, php-fpm, mysql, etc.

二、php的权限配置

同样的,php的运行方式也是由主进程root运行,在子进程池(pool)里面配置由www用户执行,具体配置在php根目录下的<span style="color: rgb(192, 0, 0);">etcphp-fpm.conf</span>下,添加两行:

user = www
group = www
Copier après la connexion
Copier après la connexion

即可,同样用ps aux | grep php可以查看进程使用的用户身份:

Organisez et résumez la division des autorisations de nginx, php-fpm, mysql, etc.

三、MySQL服务的权限配置

通过ps aux | grep mysqlVous pouvez voir que le processus principal de nginx est root, et les autres sous-processus sont tous des utilisateurs de la configuration wwwnginx.conf :

Organisez et résumez la division des autorisations de nginx, php-fpm, mysql, etc.Organisez et résumez la division des autorisations de nginx, php-fpm, mysql, etc.

Deuxièmement, configuration des autorisations PHP

De même, PHP Le mode d'exécution est également exécuté par la racine du processus principal et est configuré dans le pool de processus enfant (pool) pour être exécuté par l'utilisateur www. La configuration spécifique se trouve sous <p>etcphp-fpm. conf</p> dans le répertoire racine de php. Ajoutez deux lignes :

user www www;
Copier après la connexion

C'est tout. Vous pouvez également utiliser ps aux | grep php pour afficher l'identité de l'utilisateur utilisée par le processus :

Organisez et résumez la division des autorisations de nginx, php-fpm, mysql, etc.

3. Configuration des autorisations du service MySQL

via ps aux | grep mysql Vous pouvez voir que le service MySQL s'exécute sous l'utilisateur 🎜mysql🎜. Ce service 🎜 nous oblige uniquement à apporter le nom d'utilisateur et le mot de passe mysql. lorsque le code php se connecte à mysql. Il n'a pas besoin d'être unifié à www, car la couche de données doit être connectée à mysql. La couche de logique métier est isolée pour assurer la sécurité des données sous-jacentes🎜. L'autorisation de MySQL consiste principalement à ajouter de nouveaux utilisateurs et à diviser les autorisations dans le service MySQL, qui est utilisé pour contrôler différentes entreprises PHP afin de se connecter avec des identités avec différentes plages d'autorisations pour assurer la sécurité des données. 🎜🎜🎜🎜🎜🎜4. Résumé🎜🎜🎜Configuration nginx : 🎜
user = www
group = www
Copier après la connexion
Copier après la connexion
🎜php-fpm : 🎜🎜
drwxr-xr-x 就是755
Copier après la connexion
🎜Répertoire : 🎜🎜rrreee🎜Apprentissage recommandé : "🎜Tutoriel vidéo PHP🎜" 🎜

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 de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4 Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4 Dec 09, 2024 am 11:42 AM

L'un des changements majeurs introduits dans MySQL 8.4 (la dernière version LTS en 2024) est que le plugin « MySQL Native Password » n'est plus activé par défaut. De plus, MySQL 9.0 supprime complètement ce plugin. Ce changement affecte PHP et d'autres applications

Comment configurer Visual Studio Code (VS Code) pour le développement PHP Comment configurer Visual Studio Code (VS Code) pour le développement PHP Dec 20, 2024 am 11:31 AM

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

Comment analysez-vous et traitez-vous HTML / XML dans PHP? Comment analysez-vous et traitez-vous HTML / XML dans PHP? Feb 07, 2025 am 11:57 AM

Ce tutoriel montre comment traiter efficacement les documents XML à l'aide de PHP. XML (Language de balisage extensible) est un langage de balisage basé sur le texte polyvalent conçu à la fois pour la lisibilité humaine et l'analyse de la machine. Il est couramment utilisé pour le stockage de données et

Programme PHP pour compter les voyelles dans une chaîne Programme PHP pour compter les voyelles dans une chaîne Feb 07, 2025 pm 12:12 PM

Une chaîne est une séquence de caractères, y compris des lettres, des nombres et des symboles. Ce tutoriel apprendra à calculer le nombre de voyelles dans une chaîne donnée en PHP en utilisant différentes méthodes. Les voyelles en anglais sont a, e, i, o, u, et elles peuvent être en majuscules ou en minuscules. Qu'est-ce qu'une voyelle? Les voyelles sont des caractères alphabétiques qui représentent une prononciation spécifique. Il y a cinq voyelles en anglais, y compris les majuscules et les minuscules: a, e, i, o, u Exemple 1 Entrée: String = "TutorialSpoint" Sortie: 6 expliquer Les voyelles dans la chaîne "TutorialSpoint" sont u, o, i, a, o, i. Il y a 6 yuans au total

Top 10 des plateformes CMS PHP pour les développeurs en 2024 Top 10 des plateformes CMS PHP pour les développeurs en 2024 Dec 05, 2024 am 10:29 AM

CMS signifie Système de gestion de contenu. Il s'agit d'une application logicielle ou d'une plate-forme qui permet aux utilisateurs de créer, gérer et modifier du contenu numérique sans nécessiter de connaissances techniques avancées. Le CMS permet aux utilisateurs de créer et d'organiser facilement du contenu tel que du texte, des images, des vidéos et des documents, et de le publier sur des sites Web ou d'autres plateformes numériques.

7 fonctions PHP que je regrette de ne pas connaître auparavant 7 fonctions PHP que je regrette de ne pas connaître auparavant Nov 13, 2024 am 09:42 AM

Si vous êtes un développeur PHP expérimenté, vous aurez peut-être le sentiment d'y être déjà allé et de l'avoir déjà fait. Vous avez développé un nombre important d'applications, débogué des millions de lignes de code et peaufiné de nombreux scripts pour réaliser des opérations.

Comment ajouter des éléments à la fin d'un tableau en php Comment ajouter des éléments à la fin d'un tableau en php Feb 07, 2025 am 11:17 AM

Les tableaux sont des structures de données linéaires utilisées pour traiter les données dans la programmation. Parfois, lorsque nous traitons les tableaux, nous devons ajouter de nouveaux éléments au tableau existant. Dans cet article, nous discuterons de plusieurs façons d'ajouter des éléments à la fin d'un tableau en PHP, avec des exemples de code, une sortie et une analyse de complexité du temps et de l'espace pour chaque méthode. Voici les différentes façons d'ajouter des éléments à un tableau: Utilisez des crochets [] En PHP, la façon d'ajouter des éléments à la fin d'un tableau est d'utiliser des crochets []. Cette syntaxe ne fonctionne que dans les cas où nous ne voulons ajouter qu'un seul élément. Ce qui suit est la syntaxe: $ array [] = valeur; Exemple

See all articles