Je travaille sur Comment servir des applications Django avec uWSGI et Nginx sur Ubuntu 16.04 . À la fin de l'article "Créer un fichier d'unité systemd pour uWSGI", ils discutent de l'élément suivant www-data
utilisateur. Qu'est-ce que c'est et pourquoi est-ce important ?
Réponses
Trop de publicités?Pour la sécurité.
Les fichiers ne sont pas inscriptibles dans le monde entier. Leur écriture est réservée au propriétaire des fichiers.
Le serveur web doit être exécuté sous un utilisateur spécifique. Cet utilisateur doit exister.
S'il était exécuté sous root, alors tous les fichiers devraient être accessibles par root et l'utilisateur devrait être root pour accéder aux fichiers. Comme root est le propriétaire, un serveur web compromis aurait accès à l'ensemble de votre système. En spécifiant un ID spécifique, un serveur web compromis n'aurait qu'un accès complet à ses fichiers et non à l'ensemble du serveur.
Si vous décidez de l'exécuter sous une autre identité d'utilisateur, cet utilisateur devra être le propriétaire effectif des fichiers pour obtenir les privilèges appropriés. Il pourrait être déroutant d'avoir la propriété personnelle des fichiers de l'ensemble du système sur votre compte personnel.
La création d'un utilisateur spécifique faciliterait la reconnaissance des fichiers et la cohérence de la reconnaissance de l'ID à utiliser. chown
aux nouveaux fichiers et dossiers ajoutés sur le site.
El Identifiant de l'utilisateur o Nom du propriétaire n'a pas d'importance. Ce qui est choisi ou décidé devra être configuré dans les fichiers de configuration du serveur web.
Par défaut, la configuration du propriétaire est www-data
dans la configuration Ubuntu d'Apache2. Comme il s'agit de la configuration par défaut, vous connaissez facilement la propriété nécessaire pour vos fichiers web. Si vous la modifiez, vous devrez modifier les fichiers de votre site en conséquence.
Je ne cours pas Nginx mais puisqu'il se trouve dans le dépôt Ubuntu, je suis sûr qu'il a été testé avec le système d'exploitation de l'entreprise. www-data
par défaut.
www-data
est l'utilisateur que les serveurs web sur Ubuntu (Apache, nginx, par exemple) utilisent par défaut pour un fonctionnement normal. Le processus du serveur web peut accéder à tout fichier que www-data
peut accéder. Il n'a pas d'autre importance.
De la base-passwd
la documentation ( /usr/share/doc/base-passwd/users-and-groups.txt.gz
):
Certains serveurs web fonctionnent sous le nom de www-data. Le contenu web ne doit pas appartenir à cet utilisateur, sinon un serveur web compromis serait capable de réécrire un site web. Les données écrites par les serveurs web seront la propriété de www-data.