Serveur ftp proftpd avec utilisateurs virtuels sous linux debian ubuntu

18/05/2010 - 24670 consultations - 2 commentaires


Ce tutoriel vous présente comment installer le serveur ftp proftpd à partir des paquets debian. Pour éviter de créer autant d'utilisateurs Linux que de compte FTP il est possible de créer des utilisateurs virtuels seulement disponibles pour le serveur FTP

Nous allons commencer par installer ProFTPd :
apt-get install proftpd

Nous allons créer les utilisateurs virtuels du serveur FTP grâce à la commande ftpasswd.
Cette commande stocke la liste des utilisateurs dans le fichier : /etc/fptd.passwd,
La syntaxe de ce fichier étant assez proche de celle du fichier des utilisateurs : /etc/passwd.

Voici donc un exemple de commande :
ftpasswd --passwd --name=<login> --uid=<user_id> --gid=<group_id> --home=<ftp_root_path> --shell=/bin/false

Comme par exemple l'utilisateur totoleharicot ayant pour dossier /home/totoleharicot :
cd /etc
ftpasswd --passwd --name=totoleharicot --uid=106 --gid=33 --home=/home/totoleharicot --shell=/bin/false

On peut voir que l'utilisateur n'a pas d'accès shell (/bin/false), si celui-ci n'est pas présent dans la liste des shells disponibles,
ajoutez le au fichier: /etc/shells
nano /etc/shells
Ajouter en fin de fichier la ligne suivante si elle n'est pas déjà présente:
/bin/false

Si on est curieux on regarde ce qu'il y a dans le fichier /etc/ftpd.passwd:
cat /etc/ftpd.passwd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Enfin il reste à indiquer à ProFTPd d'utiliser les "utilisateurs virtuels" en modifiant le fichier de configuration /etc/proftpd/proftpd.conf :
nano /etc/proftpd/proftpd.conf
Ajouter la ligne suivante:
AuthUserFile    /etc/ftpd.passwd

Enfin pour plus de sécurité, il vous est possible de bloquer vos utilisateurs dans leur dossier racine (leur évitant de lister les fichiers en dehors de leur dossier) en ajoutant la ligne suivante dans le fichier de configuration /ect/proftpd.conf :
DefaultRoot ~
... comme indiqué dans la doc ...
# To cause every FTP user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
#DefaultRoot ~

Enfin on sauvegarde le fichier et on redémarre ProFTPd pour prendre en compte les nouveaux paramètres :
/etc/init.d/proftpd restart

Commentaires (2)

Pat - 20/09/2012 à 02h23
Bonjour.. j'espère que vous êtes encore dispo...

j'ai fait tout ça mais quand je redémarre le serveur, il met uknow user "useurrrr" et quand je décommente la ligne User useurrrr lors de la connection rien ne passe erreur 530 : login incorrect avec FileZilla...
une idée?

D'avance merci...
Pat

Nicolo - 28/09/2012 à 14h57
Salut, toujours dispo avec du retard ;)

Va faire un tour dans les logs /var/log/proftpd (en vérifiant qu'ils sont bien activés) en général c'est assez parlant

Commentez cet article

Nom (obligatoire)
E-mail (obligatoire)
Site Internet (facultatif)
code anti-spam

Me tenir inform� des nouveaux messages


kcmdevices.pngForcer umount quand vous avez le message : device is busy sous Linux Debian
Ce mini tutoriel vous présente comment Démonter un point de montage quand celui ci ne veux pas être démonté
terminal.pngInstallation de subversion un dépôt de données SVN
Vous trouverez dans cet article l'intégralité de l'installation d'un entrepôt de sources subversion, celà permet de gérer les version en développement de sauvegarder toutes les modifications de vos sources de sites ou programmes
encrypted.pngSauvegarde par ssh avec la commande scp avec clé publique - clé privée
Ce tutoriel présente comment effectuer une copie de fichier entre 2 serveurs en utilisant scp, en passant par des clé publique et clé privée afin de ne pas avoir à saisir de mot de passe
mycomputer.pngInstallation debian Sarge avec VMWare sous Ubuntu
Ce tutoriel vous présente comment installer debian Sarge dans une image virtuelle avec VMWare Player sous Ubuntu Linux
mail_generic.pngSSMTP Serveur smtp simple pour envoyer ses mails de son serveur local par le smtp de son FAI sur debian lenny
Ce petit tutoriel vous présente comment configurer rapidement un smtp sur son serveur debian lenny afin de pouvoir envoyer des mail par l'intermédiaire du smtp de son fournisseur d'accès internet
ark.pngInstallation d'un système de sauvegarde avec rsync
Ce tutoriel vous présente l'installation d'un système de sauvegarde pour par exemple un site web à l'aide de l'outils rsync
encrypted.pngConnexion ssh sous debian etch et lenny avec clé publique - privée
Ce tutoriel vous présente comment vous connecter sur votre serveur Debian (Etch et Lenny) en ssh, scp, sftp à partir de Windows avec clé publique privée (sans avoir à taper de mot de passe)
database.pngTutoriel de sauvegarde automatisées de bases de données MySQL, compression en tar.gz et envoi par FTP sous Linux Debian
Ce tutoriel vous présente comment automatiser la sauvegarde de base de données MySQL en compressant les sauvegardes et en les plaçant sur un FTP distant.
encrypted.pngProtéger un dossier web apache2 par login et mot de passe avec un htaccess et un htpasswd sous debian lenny
Ce tutoriel vous présente comment protéger un répertoire web apache2 par login et mot de passe avec un htaccess et un htpasswd sous debian lenny