1 votes

Meilleure pratique pour l'utilisateur d'exécution Apache et les permissions de document root

Mon installation Apache est lancée par l'utilisateur www-data dans le groupe www-data par défaut.

Par exemple, si j'ai ce répertoire sous /var/www/html.

/var/www/html/myPhpProject

Ce répertoire est possédé par whitebear.

Mais un framework PHP fonctionne sur le serveur, parfois il crée des fichiers possédés par www-data, par exemple: log ou cache.

Alors des problèmes surviennent lorsque l'utilisateur whitebear essaie de mettre à jour le framework, comme les logs ne peuvent pas être supprimés.

Quelle est la meilleure pratique à adopter?

myPhpProject devrait-il être possédé par www-data?

L'utilisateur whitebear devrait-il avoir les mêmes privilèges que www-data?

3voto

Reda Salih Points 756

La bonne façon de le faire est de :

  • Définir /var/www/html/myPhpProject et son contenu sous-jacent appartenant à www-data

    chown -R www-data:www-data /var/www/html/myPhpProject

    • Donnez les permissions correctes à votre Vhost :

    chmod -R 755 /var/www/html/myPhpProject

    • Donnez à whitebear la capacité d'effectuer des tâches d'administration comme la maintenance des journaux, etc ... soit par SUDO ou par privilège de groupe

Sudo

  • Changez la shell de www-data de /bin/false à /bin/sh :

    chmod -s /bin/sh www-data

  • Modifiez votre fichier sudoers pour que whitebear puisse passer au compte utilisateur www-data lors de l'exécution de ses tâches d'administration :

    visudo

    Ensuite, ajoutez ce qui suit au fichier :

    whitebear ALL=(ALL) NOPASSWD : su - www-data

Privilège de groupe

  • Ajoutez www-data en tant que groupe secondaire à whitebear :

    usermod -G www-data whitebear

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X