Si vous hébergez plusieurs sites sur votre serveur, il peut être utile de créer des utilisateurs ftp spécifiques pour chacun d’entre eux.
Ces utilisateurs ne nécessitent pas d’avoir un compte user linux sur le serveur, nous allons donc utiliser la fonctionnalité de création d’user virtuel de proftpd.
( Tout en conservant l’authentification des users linux standard) avec ubuntu 14.04

Pour commencer il faut éditer le fichier /etc/proftpd/proftpd.conf

Rechercher la ligne Authorder et saisir les informations suivantes :

Authorder mod_auth_file.c mod_auth_unix.c #Connexion via fichier utilisateur et utilisateurs linux
AuthUserFile /etc/proftpd/ftpd.passwd #Nom du fichier des mots de passe

Nous allons ensuite créer ce fichier ftpd.passwd et lui mettre les droits adéquats

sudo touch /etc/proftpd/ftpd.passwd
sudo chmod 440 /etc/proftpd/ftpd.passwd
sudo chown proftpd:root /etc/proftpd/ftpd.passwd

Redémarer ensuite proftpd pour vérifier que tout est bon

sudo service proftpd restart

Voici ensuite comment créer un nouvel utilisateur

Dans mon cas pour des raisons de droits je souhaites qu’il appartienne au groupe www-data (apache)
Pour récupérer son id il faut saisir la commande suivante

id www-data

qui renvoie un resulat du type :

uid=33(www-data) gid=33(www-data) groupes=33(www-data)

L’identifiant du groupe www-data est donc 33

Voici la commande pour créer un compte :

sudo ftpasswd --passwd --name=webmaster --uid=33 --gid=33 --home=/var/www/my-website/ --shell=/bin/sh

Le mot de passe du compte vous sera ensuite demandé.

Vous pouvez maintenant créer tous les utilisateurs nécessaires en répétant cette commande 🙂