J'exécute un petit serveur Web uniquement pour héberger de petits projets et fichiers de données. Ce serveur a une adresse IP publique.
J'aimerais pouvoir utiliser FTP et télécharger des fichiers directement sur /var/www/*
, et j'envisage donc d'autoriser le www-data
utilisateur d'avoir un mot de passe et de se connecter directement. Cela m'éviterait également d'avoir à changer de propriétaire de fichier chaque fois que je fais quoi que ce soit dans un répertoire Web (ce que je fais actuellement en tant que root, il y a donc également un risque de sécurité).
Y a-t-il un risque de sécurité à autoriser l'utilisateur de www-data à se connecter ? Si oui, quelle est la meilleure alternative ?
Réponse acceptée :
Un risque de sécurité est que vous pouvez éventuellement tuer ou attaquer le serveur Web lui-même (car vous utilisez alors le même utilisateur.) Ce n'est probablement pas ce que vous voulez. C'est probablement la même chose lorsque vous utilisez root, n'est-ce pas.
Deux solutions :
-
Créez un sous-répertoire sous
/var/www
pour vous-même, chown pour vous-même, puis utilisez votre propre utilisateur. (ou créez-en un nouveau)Exemple :
[email protected]# mkdir /var/www/joes-toys [email protected]# chown joeuser:joegroup /var/www/toys [email protected]# chmod u=rwx,g=rx,o=rx
-
Placez votre utilisateur (le vôtre ou un nouveau) dans le groupe www-data et assurez-vous que le groupe a l'autorisation d'écriture sur
/var/www
Exemple :
[email protected]# adduser joeuser www-data [email protected]# chgrp -R www-data /var/www [email protected]# chmod -R g+w /var/www
P.S. :N'utilisez pas de FTP non crypté de nos jours ! Utilisez sftp (de la suite ssh) ou au moins ftps (ftp sur ssl).