1 votes

Meilleure pratique pour l'utilisateur exec Apache et les autorisations du répertoire des documents

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

Le propriétaire de ce répertoire est whitebear.

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

Alors il y a des problèmes 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?

Est-ce que l'utilisateur whitebear devrait avoir les mêmes privilèges que www-data?

3voto

Reda Salih Points 756

La bonne manière de le faire est de :

  • Définir /var/www/html/myPhpProject et son contenu comme étant la propriété de www-data

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

    • Donnez à votre Vhost les permissions correctes :

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

    • Donnez à whitebear la capacité d'effectuer des tâches d'administration telles que le maintien des journaux, etc... en utilisant soit SUDO soit Group Privilege

Sudo

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

    chmod -s /bin/sh www-data

  • Modifiez votre fichier sudoers afin que white bear puisse passer au compte utilisateur www-data lorsqu'il effectue ses tâches d'administration :

    visudo

    Ensuite, ajoutez ce qui suit au fichier :

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

Group privilege

  • 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