Outils pour utilisateurs

Outils du site


Panneau latéral

linux:pureftp (lu 42576 fois)

Ceci est une ancienne révision du document !


pure-ftpd

Description

Pure-ftpd est un serveur FTP que j’aime bien et qui est simple à configurer.
Pour s’identifier on peut utiliser soit les comptes unix de la machine soit une base de données indépendantes.

Installation

Classique

aptitude install pure-ftpd-common

Configuration

On peut utiliser

dpkg-reconfigure pure-ftpd-common

Il y a aussi des fichiers de configuration à modifier dans certain cas

Créer un fichier PassivePortRange dans etc/pure-ftpd/conf/ :

~$ vi /etc/pure-ftpd/conf/PassivePortRange

Lui entrer deux valeur numériques entre 1024 et 65535. Exemple :

3000 3100

Pure-ftp utilisera alors un port entre 3000 et 3100 pour le transport de données.

Dans le mode FTP passif , le client demande au serveur de choisir un port aléatoire sur lequel ce dernier se mettra à l’écoute en attente de la connexion de données. Le serveur communique au client le port qu’il a choisi pour le transfert des données.

Créer un fichier NATmode dans /etc/pure-ftpd/conf/ :

~$ vi /etc/pure-ftpd/conf/NATmode

Lui entrer la valeur :

no

Priorité au mode passif.

Redémarrer pure-ftp :

~$ /etc/init.d/pure-ftpd restart

Règle du firewall mais je suis sur de rien, c’est pour le mode passif

iptables -A INPUT -p tcp -i eth0 --dport 40000:40100 -j ACCEPT
iptables -A OUTPUT -p tcp -o eth0 --sport 40000:40100 -j ACCEPT

Administration

Ajouter un utilisateur

Dans cet exemple, je vais créer une liste d’utilisateur virtuel c’est à dire des utilisateurs qui n’existe pas dans le system.
Nous allons donc utiliser une database de pure-ftpd appelé puredb
Créons maintenant un utilisateur :

pure-pw useradd toto -u totounix -d /home/totounix -m

L’utilisateur toto est maintenant créé et aura les mêmes droit que l’utilisateur local totounix.
L’argument -m permet de retourner l’ajout de cet utilisateur dans la puredb.
Si on oublie -m on peut toujours recompiler la puredb par cette commande :

pure-pw mkdb

Pour s’assurer que pure-ftpd va bien utiliser la base d’utilisateur puredb assurez-vous de ce qui suit.

Vérifier le fichier de config qui définie l’emplacement de la base PureDB

cat /etc/pure-ftpd/conf/PureDB 
/etc/pure-ftpd/pureftpd.pdb 

Vérifiez donc l’existence de ce fichier.

Maintenant vérifions que cette base est pris en compte lors du lancement du serveur FTP

# cd /etc/pure-ftpd/auth
# ls -l
# total 0
lrwxrwxrwx 1 root root 26 2005-11-08 10:24 65unix -> ../conf/UnixAuthentication
lrwxrwxrwx 1 root root 25 2005-11-08 10:24 70pam -> ../conf/PAMAuthentication

Par défaut il n'y a que les 2 autorisations des utilisateurs systèmes.
Il n'y a pas notre base d'utilisateurs virtuels.

# rm * Supprimons ces autorisations.
# ln -s /etc/pure-ftpd/conf/PureDB 75puredb 
On crée un lien symbolique vers notre fichier de config.
Cela permet au programme de prendre en compte notre base de données.

Par défaut, pureftpd autorise seulement les utilisateurs qui ont pour UID une valeur de 1000.
Pour régler ce problème, modifier le fichier /etc/pure-ftpd/conf/MinUID et remplacez 1000 soit par l’UID de l’utilisateur concerné ( voir le fichier /etc/pure-ftpd/pureftpd.passwd ) ou alors supprimez ou commentez avec # la valeur 1000.

Dans le cas d’un serveur web, on peut mettre la valeur 33 qui correspond à l’utilisateur www-data

Redémarrons maintenant le serveur

# /etc/init.d/pure-ftpd restart
linux/pureftp.1327835783.txt.gz · Dernière modification: 04-04-2013 22:05 (modification externe)