GNU/Linux >> Tutoriels Linux >  >> Linux

Exécuter Apache en tant qu'utilisateur différent

Apache doit d'abord s'exécuter en tant que root pour se lier au port 80. Si vous ne l'exécutez pas en tant que root au départ, vous ne pouvez pas vous lier au port 80. Si vous souhaitez vous lier à un port supérieur à 1024, alors oui, vous le pouvez. Sinon, ne vous inquiétez pas pour root. C'est le processus Apache parent et il ne répond à aucune requête. Il générera des processus enfants et supprimera les privilèges pour le traitement des demandes.

Pour changer l'utilisateur Apache, définissez le User et Group paramètres dans votre configuration Apache.


@bahamat l'explique assez bien, mais je vais ajouter un peu plus de détails.

Au cours d'un fonctionnement normal, le processus apache appartenant à la racine n'effectuera aucune opération réelle autre que l'écoute sur le port 80 et le transfert des connexions entrantes vers son (en toute sécurité non privilégié, comme le www-data utilisateur) enfants.

L'emplacement du fichier de configuration principal dépend des options de compilation et varie selon la distribution, mais /etc/apache2/apache2.conf est une bonne supposition de départ.

De plus, si vous configurez un système d'hébergement Web multi-utilisateurs, vous voudrez peut-être examiner SuExec et fcgid afin que le processus apache de chaque utilisateur d'hébergement Web individuel s'exécute en tant qu'utilisateur - de sorte que si un utilisateur néglige sa sécurité, l'autre les utilisateurs ne seront pas affectés.


Dans Ubuntu au moins, les paramètres pour cela sont en /etc/apache2/envvars . Ajustez-les, puis redémarrez apache et vous êtes prêt à fonctionner.


Linux
  1. Comment définir des limites sur les processus d'exécution de l'utilisateur sous Linux

  2. Exécuter Podman sans racine en tant qu'utilisateur non root

  3. Ssh - Déplacer une application en cours d'exécution vers un autre serveur X ? ?

  4. Apache/Mysql ne fonctionne pas. Mauvais?

  5. Vous ne voyez pas Apache s'exécuter dans Netstat ?

Comment installer Apache ZooKeeper sur Ubuntu

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

Apache ne peut pas accéder au fichier alors qu'il a l'autorisation ?

Créer un fichier en tant qu'utilisateur et groupe différents ?

UNIX / Linux :Qu'est-ce qu'un Shell ? Quels sont les différents coquillages ?

Exécuter un script shell en tant qu'utilisateur différent