Je fais partie de ceux qui aiment innover et apprendre de nouvelles choses, il n'y a pas longtemps, j'ai dû installer et configurer un serveur FTP et j'ai décidé de le faire différemment de ce que j'ai toujours fait.
Dans ce cas, j'ai opté pour un service FTP avec des utilisateurs virtuels, des utilisateurs qui seront stockés dans un fichier chiffré (nom d'utilisateur, mot de passe, paramètres, etc.), le tout avec Pure FTPd.
Ici, je vais vous montrer comment faire… eh bien, commençons 
Tout d'abord, spécifiez que les commandes de ce didacticiel sont destinées à des distributions comme Debian ou basées sur elles, mais si quelqu'un utilise une autre distribution sur son serveur, il doit installer les mêmes paquets et utiliser les paramètres définis ci-dessous, la seule chose à changer est la commande d'installation.
1. Il faut d'abord installer Pure FTPd :
apt-get install pure-ftpd
La sortie se terminera par quelque chose comme ceci:
2. Le service est déjà activé, mais il est inutile s'il n'est pas correctement configuré. Supposons que nous ayons un fichier de configuration long mais quasi standard ; il contient les éléments habituels, comme l'interdiction des utilisateurs anonymes, etc.
cd /etc/pure-ftpd/ && wget http://ftp.desdelinux.net/pure-ftpd.conf
3. Supposons que notre dossier FTP soit /var/www/ftp/ et que nous souhaitions créer un utilisateur autorisé à transférer des informations vers le dossier /var/www/ftp/sysadmin/. Saisissons la commande suivante dans un terminal :
pure-pw useradd sysadmin -u 2001 -g 2001 -d /var/www/ftp/sysadmin/
Cela signifie ce qui suit:
pure-pw: commande utilisée pour manipuler les utilisateurs Pure-FTPd
useradd: Nous indiquons que nous allons ajouter un utilisateur
sysadmin: l'utilisateur que je souhaite créer
-u 2001: ID utilisateur de cet utilisateur
-g 2001: GroupID de cet utilisateur
-d / var / www / ftp / sysadmin /: le dossier qui accueillera cet utilisateur, c'est-à -dire où il téléchargera les choses
Lorsque vous entrez dans la ligne précédente, il vous demandera le mot de passe de cet utilisateur.
4. Vous devez maintenant actualiser le fichier de base de données des utilisateurs. Pour ce faire, accédez au dossier /etc/pure-ftpd/ (cd /etc/pure-ftpd) et saisissez la commande suivante dans le terminal :
pure-pw mkdb
5. Nous devons maintenant démarrer Pure-FTPd en spécifiant l'utilisation du fichier d'utilisateurs virtuels. Commençons par arrêter le service :
/etc/init.d/pure-ftpd stop
Ensuite, nous nous assurerons qu'il ne démarrera pas par défaut normalement:
chmod -x /etc/init.d/pure-ftpd
Et maintenant, nous commençons le service à notre façon:
/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb
6. Si vous essayez d'utiliser une application comme FileZilla, vous constaterez que la connexion avec l'utilisateur créé fonctionne sans problème ; cependant, vous ne pourrez ni copier de fichiers ni créer de répertoires. En effet, le dossier /var/www/ftp/sysadmin/ (le répertoire personnel de l'utilisateur dans cet exemple) ne dispose pas des permissions appropriées. Pour résoudre ce problème :
chown -R 2001:2001 /var/www/ftp/sysadmin/
Rappelez-vous, l'Uid et le Gid 2001 sont ceux de l'utilisateur que nous avons créé, nous l'avons créé avec la commande de l'étape précédente 3 
7. Pour arrêter le service, appuyez simplement sur [Ctrl]+[C] sur le même terminal, ou sur un autre terminal, procédez comme suit :
killall pure-ftpd
Nous allons maintenant indiquer que le service démarrera automatiquement avec le système au démarrage du serveur, pour cela nous modifions le fichier /etc/rc.local et avant la dernière ligne qui dit "exit 0" nous mettons la commande avec laquelle nous démarrons le service FTP:
/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb
En d'autres termes, cela ressemblerait à ceci:
Vous pouvez éditer le fichier avec nano, vi ou votre éditeur préféré, ou si vous préférez, copiez et collez cette commande qui facilitera votre travail:
perl -pi -e "s[exit 0][/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb]g" /etc/rc.local && echo "exit 0" >> /etc/rc.local
…oui oui… comme vous lisez, « faciliter », c'est une commande étendue oui, mais c'est simplement remplacer du texte par perl et un écho inoffensif 
8. Une fois cette opération terminée, redémarrez le serveur et vous constaterez que le service pure-ftpd est désormais démarré et prêt à fonctionner.
Comment supprimer des utilisateurs?
Comme je l'ai mentionné précédemment, la commande pure-pw est celle dont nous avons besoin pour gérer les utilisateurs. Pour supprimer un utilisateur (par exemple, sysadmin), nous utiliserions la commande suivante :
cd /etc/pure-ftpd/
pure-pw userdel sysadmin
pure-pw mkdb
N'oubliez pas que chaque fois que vous apportez une modification à un utilisateur, vous devez régénérer le fichier de base de données virtuelle des utilisateurs, il se trouve dans / etc / pure-ftpd / et il est généré / mis à jour avec pure-pw mkdb
En tout cas amis je pense qu'il n'y a pas grand chose à ajouter, vous invitons à lire l'aide de pure-pw car cela nous permet bien plus que ce que je vous ai montré ici (ce n'est qu'un tutoriel court et presque basique).
Il y a un an ou deux, j'étais de ceux qui liaient tout à OpenLDAP ou MySQL, mais au fil du temps, j'ai réalisé que tant de connexions à des bases de données qui sont des serveurs en tant que telles génèrent une consommation que nous ne pouvons souvent pas nous permettre. Par conséquent, l'utilisation de complètement des alternatives viables telles que l'utilisation de bases de données dans les propres fichiers de l'application, comme dans ce cas de Pure-FTPd .pdb 
Tout doute ou question, je vais essayer d'aider autant que je peux.
Salutations et… bon piratage!