Question

Je lance php 5.2.6 en tant que cgi sous lighttpd 1.4 et, pour une raison quelconque, il fonctionne toujours en tant que root. Tous les processus php-cgi appartiennent à root et tous les fichiers écrits dans le système de fichiers appartiennent à root.

J'ai essayé de définir l'utilisateur dans lighttpd comme non privilégié, et j'ai confirmé qu'il fonctionne correctement. Il s'agit simplement de php qui s'exécute en tant que root.

Comment définirais-je php-cgi pour fonctionner en tant qu'utilisateur plus sûr?

Était-ce utile?

La solution

  1. Assurez-vous que

    server.username            = "nonprivuser"
    server.groupname           = "nonprivgroup"
    
  2. arrêtez lighttpd.

  3. recherchez les processus php existants et supprimez-les.
  4. démarrer lighttpd
  5. vérifier que les processus php fonctionnent en tant que non priv

Si php est toujours en cours d'exécution en tant que root, alors vous avez peut-être un script SETUID quelque part les chargeant (vous ne devriez vraiment pas, mais c'est faisable)

Si tel est le cas, vérifiez que le fichier "chemin bin" fait référence à n'a rien de génial dessus.

Autres conseils

Il est possible que vous ayez lancé un processus fastcgi sur le serveur en tant que root. Si tel est le cas, le processus fastcgi continuera à exécuter les processus php appelés depuis lighttpd.

Je suggère de supprimer les processus fastcgi sur votre serveur et de redémarrer lighttpd.

Vous pouvez également consulter les scripts de démarrage pouvant lancer le démon fastcgi.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top