1 votes

Debian 6 : mise en place d'un FTP juste pour l'édition de sites web

J'ai un VPS utilisant Debian 6.0. Actuellement, SSH est configuré pour ne pas accepter les connexions par mot de passe, mais uniquement celles basées sur des clés.

Une personne qui doit travailler sur un site web particulier (un serveur virtuel) souhaite utiliser le FTP. Il n'a pas besoin/veut SSH. Comment puis-je configurer un accès FTP pour lui, lui permettant d'avoir des droits d'écriture pour tous les fichiers dans le répertoire concerné, et seulement le répertoire concerné ? Le répertoire est /srv/www/domainname.com/public_html

Actuellement, tous les répertoires et fichiers de ce répertoire appartiennent à www-data:www-data et sont 644/755.

J'ai installé vsftpd et j'ai lu quelques guides, mais ils semblent tous traiter de la possibilité pour plusieurs utilisateurs d'avoir leurs propres répertoires avec leur nom d'utilisateur, ce qui n'est pas ce que je recherche. Je n'arrive pas à trouver comment définir simplement un utilisateur FTP avec un mot de passe qui a accès à un répertoire de mon choix.

C'est ma première expérience de mise en place d'un serveur FTP.

Danke.

Edit : j'ai aussi trouvé ce - Je devrais peut-être utiliser ProFTPd, ou vsftpd peut-il aussi faire ce que je veux ?

2voto

user70580 Points 1

Si vous souhaitez opter pour la solution SFTP uniquement, j'ai récemment créé un article de blog qui décrit exactement cette solution, y compris quelques-unes des erreurs les plus courantes : http://blog.frands.net/sftp-only-chroot-users-with-openssh-in-debian-166/

Si vous souhaitez opter pour la solution FTP, vsftpd est en effet un excellent choix. Cependant, lorsqu'un utilisateur télécharge un fichier, celui-ci sera défini avec son utilisateur et son groupe suivant l'umask défini. Vous pourriez définir le groupe primaire de l'utilisateur comme étant www-data et ensuite créer un umask qui correspond à vsftpd.

Voici une méthode rapide pour faire ce que j'ai suggéré :

Créez l'utilisateur avec le groupe www-data, sans Shell réel et le répertoire de base correct, définissez le mot de passe ensuite.

useradd -d /path/to/his/domain.com -g www-data -s /bin/false theusername
passwd theusername

Assurez-vous que vsftpd accepte son Shell. cat /etc/shells et cherchez /bin/false (il ne devrait pas être là par défaut) - s'il n'y est pas, ajoutez-le :

echo "/bin/false" >> /etc/shells

Ensuite, éditez le fichier de configuration de vsftpd. Touchez ces paramètres : (s'ils sont commentés, enlevez le #)

Désactiver l'accès anonyme au serveur

anonymous_enable=NO

Autoriser les utilisateurs locaux à utiliser FTP

local_enable=YES

Autoriser les téléchargements de fichiers

write_enable=YES

Définir le umask, de sorte que les fichiers que l'utilisateur télécharge sont également accessibles en écriture par le groupe (www-data)

local_umask=002

Chroot l'utilisateur pour qu'il ne puisse pas sortir de son répertoire d'origine.

chroot_local_user=YES

Maintenant, redémarrez vsftpd

/etc/init.d/vsftpd restart

et vous devriez être prêt.

MAIS !

  • Le FTP est généralement peu sûr.
  • Si le SFTP est possible, utilisez-le.
  • Le fait que le serveur Web soit autorisé à écrire dans les fichiers constitue une faille de sécurité, sauf si le répertoire est utilisé pour les téléchargements ou les fichiers que le site Web modifie fréquemment.

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