GNU/Linux >> Tutoriels Linux >  >> Linux

Sous quel utilisateur NGinx et PHP doivent-ils fonctionner ?

Solution 1 :

Voici comment cela fonctionne :lorsque vous vous connectez via FTP/SSH et que vous téléchargez des fichiers, ils sont créés avec vos autorisations. PHP s'exécute avec différents privilèges d'utilisateur (ils sont spécifiés dans la configuration PHP-FPM, pas dans la configuration nginx), et comme le répertoire est accessible en écriture, l'utilisateur PHP (www-data) peut également y écrire. Mais le propriétaire de ce fichier est www-data, pas votre compte. Ce sont 2 comptes distincts au niveau d'autorisation du système de fichiers.

Je vous suggère de créer un utilisateur dédié avec le moins de privilèges possibles, qui posséderait le répertoire webroot et serait utilisé pour le téléchargement FTP/SSH ET exécuterait php. afin que vous puissiez rendre les fichiers de votre site Web non lisibles par le monde et plus sécurisés.

N'exécutez pas PHP avec un utilisateur privilégié (capacité sudo, privilèges d'écriture hors site docroot), cela pourrait compromettre la sécurité du serveur.

Solution 2 :

Le www-data l'utilisateur et le groupe sont assez standard. Il peut s'agir de www ou de web sur d'autres systèmes mais l'idée est la même :exécutez les services Web avec un compte dédié. Ainsi, lorsque votre serveur Web est compromis, l'attaquant ne pourra accéder qu'aux fichiers auxquels ce compte a été accordé. .

Si un utilisateur doit gérer les services Web, vous devez ajouter l'utilisateur au groupe concerné (www-data) ou lui permettre de se connecter en su (ou sudo) à l'utilisateur concerné (toujours www-data).


Linux
  1. Qu'est-ce qu'un utilisateur Linux ?

  2. Thèmes sonores sous Linux :ce que chaque utilisateur doit savoir

  3. Qu'est-ce que le noyau Linux et devez-vous mettre à niveau vers le dernier noyau ?

  4. Installation et configuration de Php et Nginx sur Ubuntu 20.04

  5. Obtenir l'heure de l'utilisateur et du noyau d'un processus en cours d'exécution ?

Qu'est-ce que l'UID sous Linux, comment le trouver et le modifier

Qu'est-ce qu'un Homelab et pourquoi devriez-vous en avoir un ?

Qu'est-ce que la curation de contenu et comment procéder ?

Comment installer Nginx, MySQL et PHP (LEMP) sur un serveur Ubuntu 15.04

Quelle est la différence entre l'espace utilisateur et l'espace noyau ?

Qu'est-ce que l'utilisateur MySQL debian-sys-maint (et plus) ?