0 votes

Démarrer les services de brassage php70 avec un socket de domaine Unix - sans sudo?

J'ai installé php70 de Homebrew et il se connecte avec succès à Apache via un socket de domaine Unix.

J'ai dû utiliser sudo pour démarrer php cependant : sudo brew services start php70.

Si je ne le fais pas, le socket est créé sous le nom de mon compte utilisateur régulier, plutôt qu'avec le propriétaire _www, ce dernier étant essentiel pour permettre à Apache d'accéder au socket.

Devrais-je démarrer php70 en tant que root de cette manière, ou y a-t-il une manière plus sûre ?

J'ai essayé de créer un groupe avec mon propre nom d'utilisateur et Apache en tant que membres, dans l'intention de créer le socket sous ce groupe, mais j'ai abandonné car je n'étais pas totalement sûr d'être sur la bonne voie.

Suis-je en train de perdre mon temps en essayant d'éviter l'utilisation de sudo ? Peut-être que la réponse est simplement .. 'ça dépend'.. ?

2voto

klanomath Points 63400

La commande (sudo) brew services start php70 (ou mieux (sudo) brew services start homebrew/php/php70) copie un plist spécial dans un dossier distinctif et le lance et le démarre en tant qu'agent de lancement ou démon.

Sans le préfixe sudo, il est copié dans le dossier LaunchAgents de $USER (~/Library/LaunchAgents/) et démarré avec les droits de $USER.

Avec le préfixe sudo, le plist est copié dans /Library/LaunchDaemons et démarré avec les droits root. Il lancera plusieurs processus (un parent root php70-fpm et plusieurs processus fils _www php-fpm).

Seul ce dernier pourra et pourra créer un fichier de socket UNIX avec le propriétaire _www.

C'est le comportement attendu.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X