Nom : Pureadmin
Version : 0.3
Page Officielle

Voici une autre façon d'aborder la configuration pure-ftpd. La premiere méthode était tout en ligne de commande.
Celle la sera beaucoup plus graphique .

Il n'existe pas beaucoup de GUI pour administrer pure-ftpd, on peut citer :
- des modules pour webmin : très pratique car utilisable à partir d'un simple navigateur.
- KcmPureFtpd : un module pour KControl (centre de contrôle de KDE)
- Pureadmin : plutôt axé sur GNOME et le plus complet.

La configuration du serveur ftp sera :
- Seuls les utilisateurs virtuels seront autorisés.
- upload interdit hors du dossier /upload du serveur
- racine ftp mappée sur /var/ftproot (/var/ftp par défaut)
- Utilisateur toto avec comme home directory /
- Utilisateur upload avec comme home directory /upload

1. Présentation

Pureadmin utilises des widgets de la bibliothèque GTK dans son interface graphique. Elle suit les GNOME Human Interface Guidelines et fonctionnera donc très bien sous GNOME mais est utilisable sous KDE.
Pureadmin permet de gérer les utilisateurs virtuels de pure-ftpd mais également de surveiller et interagir avec l'activité du service ftp.

  • Fenêtre principale :

  • Fenêtres de préférences :

Le logiciel dispose d'une console de débogage : utile pour comprendre ce qui ne va pas

2. Procédure d'installation sur une Fedora Core 5 ou 4

  • Installation de ce RPM :
rpm -ivh http://drpixel.tuxfamily.org/fedora/drpixel-release-1-1.noarch.rpm
 
  • Il suffit ensuite de l'installer via YUM :
yum install pureadmin --enablerepo=drpixel

3. Utilisation

Pureadmin permet la gestion des utilisateurs, quelques manipulations sur pure-ftpd (démarrage, arrêt), ... mais ne configure pas pure-ftpd.
La configuration de pure-ftpd se fait donc toujours via le fichier /etc/pure-ftpd/pure-ftpd.conf. La syntaxe du fichier est décrite dans la première partie du tutorial.
Voici le fichier modifié pour permettre l'utilisation des utilisateurs virtuels (pour plus d'infos lire la première partie du tutorial )

  • Paramétrage du fichier pour authentification avec des utilisateurs virtuels uniquement

- Paramètres à changer

MaxClientsNumber	50  --> MaxClientsNumber	10
MaxClientsPerIP		8   --> MaxClientsPerIP		3
NoAnonymous		no  --> NoAnonymous		yes
PAMAuthentication	yes --> PAMAuthentication	no
# PureDB	/etc/pure-ftpd/pureftpd.pdb --> PureDB	/etc/pure-ftpd/pureftpd.pdb

- Pamètres à vérifier

ChrootEveryone		yes
Daemonize		yes
SyslogFacility		ftp
DontResolve		yes  (on limite les résolutions DNS)

- Paramètres optionnels à configurer en fonction du comportement souhaité

MaxDiskUsage		99  --> MaxDiskUsage		95 
(limitation de la saturation du filesystem)
DisplayDotFiles		yes --> DisplayDotFiles		no
(On n'affiche pas les fichiers cachés automatiquement)
MaxIdleTime		15  --> MaxIdleTime		5
(5 minutes d'inactivité avant déconnexion)
AllowUserFXP		no  --> AllowUserFXP		yes
ProhibitDotFilesWrite 	no  --> ProhibitDotFilesWrite 	yes 
(interdiction de créer ou d'écrire dans les fichiers cachés)
ProhibitDotFilesRead   	no  --> ProhibitDotFilesRead   	yes 
(interdiction de lecture des fichiers cachés)
#NoChmod		yes --> NoChmod			yes
(les utilisateurs ne peuvent pas changer les permissions des fichiers/dossiers)
#KeepAllFiles		yes --> KeepAllFiles		yes
(Les utilisateurs ne peuvent pas supprimer de fichiers)
#NoRename		yes --> NoRename		yes
(Les utilisateurs ne pourront pas renommer les fichiers)
#IPV4Only		yes --> IPV4Only		yes
(Désactivation du support IPV6)
  • Préparation de la racine virtuelle :
[root@rainbow ~]# mkdir -p /var/ftproot/upload
[root@rainbow ~]# chown ftpuser.ftpgroup /var/ftproot/ -R
[root@rainbow ~]# chmod -w /var/ftproot

Il suffit de lancer pureadmin : Bureau, Administration, Paramètres de Serveur, PureAdmin
Il se peut que le lanceur soit dans : Bureau, Administration, Paramètres de Serveur, Paramètres de Serveurs Supplémentaires, PureAdmin (si un autre lanceur s'y trouve).

Sur la fenêtre principale de pureadmin, il suffit de cliquer sur gérer les comptes, si le fichier de mot de passe (/etc/pure-ftpd/pureftpd.passwd) est inexistant, pureadmin proposera de le créer.
Idem si un mappage UID,GID pour les utilisateurs virtuels n'a pas été spécifié. Il suffit de répondre oui aux deux propositions.


La fenêtre de gestion des utilisateurs apparaît :

L'interface est plutôt intuitive : Nouveau compte pour ajouter un utilisateur virtuel, Editer pour modifier les propriétés d'un utilisateur, Supprimer ...

En ajoutant un nouveau compte, seuls le login et le mot de passe sont demandés.

Pour rajouter des préférences (limitations horaires, de bande passante ...) il suffit de sélectionner le nouveau compte de te faire éditer.

Utilisateur upload :

4. Suivi de l'activité du serveur

En cliquant sur l'onglet "Journal", on a accès a toute l'activité du ftp enregistrée par syslogd dans /var/log/messages.

En sélectionnant dans les préférences "Enable system tray notifications", une icone apparait dans la zone de notification à chaque connexion, transfert ... ce qui est assez utile pour savoir qu'il y a de l'activité sur le serveur sans pour autant garder les logs sous les yeux.

5. Troubleshooting

Le fichier de conf de pureadmin se trouve dans /root/.pureadminrc, c'est un fichier ou tout les valeurs sont modifiable avec un éditeur de texte. Exemple :

defaultuid=501
defaultgid=501
defaulthome=/var/ftproot
...

Cela peut-être utile, pour modifier rapidement ou a distance un des paramètres de l'application.
Il y a également la console de débogage (Fichier, Console de Debug) qui permet d'avoir un log interne à l'application.
L'application est maximisée par défaut. Il faut cocher dans les préférences "Se souvenir de la taille et de la position de la fenêtre" afin de conserver la dernière valeur de la fenêtre.

Le service pure-ftpd peut être démarré et arrêté via le menu PureFTPd de pureadmin.


Pour aller plus loin :
- Documentation officielle de pureadmin
- Blog de l'auteur
- Review sur gnomefiles
- Liste de diffusion de pureadmin