Installer et configurer PureFTPD avec des utilisateurs virtuels et gestion de quotas
Le guide d’installation suivant permet d’installer et configurer un serveur FTP gérant des quotas par utilisateurs même si c’est ces derniers ont un UID...
Le guide d’installation suivant permet d’installer et configurer un serveur FTP gérant des quotas par utilisateurs même si c’est ces derniers ont un UID...
Lancé le 9 septembre dernier et très attendu Monopoly City Streets, édité par Google et Hasbro, connaissait de gros problème de charge qui rendait...
Il suffit d’utiliser la requête suivante : [SQL] SELECT SUBSTRING_INDEX((SELECT url from site WHERE id=1), ‘.’, -2) [/SQL] Vous pouvez...
L’astuce correspond à faire : [SQL] SELECT @@IDENTITY AS id ; [/SQL] Vous pouvez aussi la stocker dans une variable pour le réutiliser plus...
Google vient d’enrichir d’une nouvelle fonctionnalité sa barre d’outils pour navigateur (Firefox et Internet Explorer). Google SideWiki...
La réponse est simple en utilisant Google Chrome Frame. Ce plugin apporte à Internet Explorer 6, 7 ou 8 le support des derniers standards, un moteur de rendu...
Voilà une triste nouvelle pour les abonnés de Bouygues Télécom détenteur de la Bbox. En effet, cette dernière serait loin d’être sécurisée. La cause de...
Un client d’AT&T aurait effectivement envoyé 662 258 textos depuis son iPhone en 30 jours, soit quasiment 15 SMS à la minute. Il faut compter...
Comme je vous l’annonçais le 9 septembre 2009, Windows s’apprêtait à ouvrir un café dans Paris pour présenter ses produits. On connait désormais...
Google a annoncé son intention d’ajouter une nouvelle fonction de recherche à ses moteurs de recherche. Il annonce l’indexation, d’ici deux semaines, des...
Le guide d’installation suivant permet d’installer et configurer un serveur FTP gérant des quotas par utilisateurs même si c’est ces derniers ont un UID identiques. Il permet...
Le guide d’installation suivant permet d’installer et configurer un serveur FTP gérant des quotas par utilisateurs même si c’est ces derniers ont un UID identiques. Il permet aussi de gérer des utilisateurs virtuels.
L’installation de pure-ftpd se fait par la commande suivante :
[bash]apt-get install pure-ftpd[/bash]
Pure-FTPD est associé automatiquement à inetd et n’est plus en mode standalone comme avant. Il faut donc modifier le fichier /etc/default/pure-ftpd-common ainsi :
[bash]
# STANDALONE_OR_INETD
# valid values are « standalone » and « inetd ».
# Any change here overrides the setting in debconf.
STANDALONE_OR_INETD=standalone
[/bash]
Il faut alors arrêter inetd et le relancer :
[bash]
/etc/init.d/openbsd-inetd stop
/etc/init.d/openbsd-inetd start
[/bash]
On peut maintenant gérer l’arrêt et le démarrage du serveur avec les commandes suivante :
[bash]
/etc/init.d/pure-ftpd stop
/etc/init.d/pure-ftpd start
[/bash]
Pour éviter l’erreur 530 Sorry, but I can’t trust you, Il faut modifier la valeur du fichier avec une valeur égale au minimum au plus petit UID des utilisateurs qui posséderont les dossiers racines :
[bash]
/etc/pure-ftpd/conf/MinUID
[/bash]
Exemple : Pour faire simple, si vous voulez autoriser un utilisateur virtuel à se connecter sur le FTP et qu’il est mappé avec les droits de root, il faudra mettre 0 dans le fichier précédent car dans /etc/passwd :
[bash]
root :x :0 :0 :root :/root :/bin/bash
[/bash]
De base, pure-ftpd autorise la connexion de tous les utilisateurs systèmes (ceux de linux). Il faut donc supprimer cette configuration puisque nous ne souhaitons qu’avoir des utilisateurs virtuels.
Il faut donc se rendre dans le dossier /etc/pure-ftpd/auth/ et supprimer les deux liens symboliques suivants :
[bash]
rm 65unix
rm 70pam
[/bash]
Pour toutes opérations sur les utilisateurs, il faut utiliser les commandes propres à Pure-FTPD. Comme nous allons créer un fichier qui sera une base de données des différents utilisateurs chaque opération, pour qu’elle soit prise en compte, devra finir par une reconstruction de la base via la commande :
[bash]
pure-pw mkdb
[/bash]
[bash]
pure-pw useradd UTILISATEUR -u UTILISATEUR_SYSTEME_REFERENCE -g GROUPE_SYSTEME_REFERENCE -d /DOSSIER_ACCUEIL_FTP -N 10
[/bash]
Cette commande a pour but d’ajouter un utilisateur UTILISATEUR et de mapper ses droits sur l’utilisateur UTILISATEUR_SYSTEME_REFERENCE (uid) du groupe GROUPE_SYSTEME_REFERENCE (GID). Cela permettra lors d’upload ou de modification de prendre les droits de l’utilisateur système précédent.
L’option –d /DOSSIER_ACCUEIL_FTP précise le dossier dans lequel l’utilisateur sera emprisonné (chrooter par l’option –d)
L’option –N 10 permet de lui assigner 10Mbits d’espace disque maximum. Vous pouvez aussi assigner 10000 :10 ce qui signifie que vous le restreignez à 10000 fichiers ou 10Mbits.
Les différentes options possibles lors de la création d’un utilisateur sont :
Option | Effet |
-u | Précise l’UID de l’utilisateur virtuel (généralement celui de ftpuser). |
-g | Précise le GID de l’utilisateur virtuel (généralement celui de ftpgroup). |
-D | Précise le répertoire personnel de l’utilisateur. |
-d | Précise le répertoire personnel de l’utilisateur (celui-ci sera chrooter dans ce répertoire). |
-T | Précise le débit maximum (upload) de l’utilisateur. |
-t | Précise le débit maximum (download) de l’utilisateur. |
-y | Précise le nombre maximum de sessions simultanées que l’utilisateur peut ouvrir (threads). |
-z | Précise les heures de connexion de l’utilisateur (Exemple -z 1400-1800 entre 14h et 18h). |
-Q | Précise le ratio de l’utilisateur (download). |
-q | Précise le ratio de l’utilisateur (upload). |
Pour finaliser la création et utiliser vos nouveaux utilisateurs n’oublier pas de faire la commande :
[bash]
pure-pw mkdb
[/bash]
La commande permettant de modifier le mot de passe d’un utilisateur est :
[bash]
pure-pw passwd UTILISATEUR -m
[/bash]
L’option –m vous permet de vous affranchir de la reconstruction de la base.
La commande est similaire à celle de modification d’un mot de passe :
[bash]
pure-pw usermod user1 -y 2 -m
[/bash]
L’option –m signifie la même chose que précédemment.
La commande est similaire à celle de modification d’un mot de passe :
[bash]
pure-pw userdel UTILISATEUR –m
[/bash]
L’option –m signifie la même chose que précédemment.
Pour obtenir, les informations d’un utilisateur spécifique il suffit d’exécuter la commande :
[bash]
pure-pw UTILISATEUR
[/bash]
Vous obtiendrez alors une série d’informations :
[bash]# pure-pw show user1
Login : user1
Password : $1$zL.EEBKZ$MbyJUyqrAa3sT719arBbB0
UID : 1001 (ftpuser)
GID : 101 (ftpgroup)
Directory : /ftp
Full name :
Download bandwidth : 0 Kb (unlimited)
Upload bandwidth : 0 Kb (unlimited)
Max files : 0 (unlimited)
Max size : 0 Mb (unlimited)
Ratio : 0 :0 (unlimited :unlimited)
Allowed local IPs :
Denied local IPs :
Allowed client IPs :
Denied client IPs :
Time restrictions : 0000-0000 (unlimited)
Max sim sessions : 2
[/bash]
La commande suivante permet de lister l’ensemble de vos comptes utilisateurs virtuels :
[bash]
pure-pw list
[/bash]
Il faut pour se faire, après avoir construit la première base de données utilisateurs (généré par la commande pure-pw mkdb), faire la commande suivante :
[bash]
ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/50PureDB
[/bash]
Il faut utiliser la commande :
[bash]
pure-ftpwho
[/bash]
qui permet d’obtenir les informations suivantes :
[bash]
+——+———+——-+——+——————————————-+
| PID | login |For/Spd| What | File/IP |
+——+———+——-+——+——————————————-+
| 6105 | user1 | 00 :00 | DL | File.avi |
| » | » | 170K/s| » | -> 62.39.155.70 |
+——+———+——-+——+——————————————-+
[/bash]
Vous pouvez aussi exporter l’utilisation du serveur sous un fichier graphique MRTG :
[bash]
pure-mrtg info
[/bash]
Ce tutoriel s’est largement inspiré des sites suivants :
http ://didier.misson.net/blog/2009/09/09/installation-de-pureftpd/
http ://www.labo-linux.org/cours/module-2/chapitre-02-pureftpd/
N’hésitez pas àle commenter ou à poser me poser des questions…
Abonnez-vous pour recevoir notre sélection des meilleurs articles directement dans votre boîte mail.
Nous ne partagerons pas votre adresse e-mail.