Index Page précédente Page suivante

VII. MISE EN PLACE DU SERVICE FTP

FTP (File Transfert Protocol) est un service utilisé, comme son nom l'indique, pour le transfert de fichiers. Par convention, il utilise les ports 20 et 21.
 

A. Installation

Le package a installer est :

   wu-ftpd

Remarques :


B. Configuration

Pour permettre à votre PC de devenir un serveur FTP, il faut lancer le démon ftpd. Là encore, ceci est généralement assuré par le service INET. Editez le fichier /etc/inetd.conf et ajoutez, si elle n'existe pas déjà, la ligne suivante :
 
ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a -t 300

L'option -l spécifie que toutes les tentatives de connexion doivent être enregistrées dans un fichier (en général /var/log/messages).

L'option -a spécifie qu'il faut tenir compte du fichier /etc/ftpaccess comme fichier de configuration.

L'option -t 300 spécifie que le démon ftpd fermera la connexion au bout de 300 secondes (5 mn) d'inactivité de la part de l'utilisateur.

La suite de la procédure d'installation est la même que pour le service TELNET. Pour vérifier que tout fonctionne, tapez la commande :

ftp 127.0.0.1

Si le serveur vous demande un nom de login et un mot de passe, alors ça fonctionne.
 

C. Gestion des utilisateurs

Les possibilités de configuration du démon ftpd sont très nombreuses. Nous allons voir les plus courantes, grâce aux fichiers /etc/ftpusers et /etc/ftpaccess.

Tout d'abord, sachez que seuls les utilisateurs ayant un shell valide peuvent ouvrir une session FTP. Cela implique que si vous utilisez les scripts noshell, telnetonly et ttyonly, dans l'état actuel des choses, les utilisateurs correspondants ne peuvent pas profiter du service FTP. Pour remédier à ça, il faut déclarer ces nouveaux shells dans le fichier /etc/shells.

a) Le fichier /etc/ftpusers
Il contient une liste de noms d'utilisateurs qui ne sont pas autorisés à ouvrir de session FTP.

b) Le fichier /etc/ftpaccess
Il contient les droits des utilisateurs. Pour commencer, il faut obligatoirement définir au moins une classe d'utilisateurs. Editez votre fichier /etc/ftpaccess. Par défaut, il doit contenir une ligne qui ressemble à :

class all anonymous,guest,real *

all est le nom que l'on donne à la classe. Le mot clé anonymous désigne les utilisateurs anonymes qui se connectent en donnant leur adresse e-mail en guise de mot de passe. Ces utilisateurs ont des droits limités et ne peuvent, entre autres, pas accéder au répertoire parent de leur répertoire par défaut. Le mot clé guest spécifie les utilisateurs ayant les mêmes droits restreints que les anonymes, mais ceux-ci doivent obligatoirement entrer un vrai non de login ainsi qu'un véritable mot de passe pour se connecter. Le mot clé real spécifie les utilisateurs réels qui ont les droits correspondant aux droits qu'ils ont quelque soit le type de session qu'ils ouvrent (par défaut, un utilisateur présent dans le fichier /etc/passwd mais dont l'accès n'est pas restreint dans le fichier /etc/ftpaccess est considéré comme un utilisateur réel). Le mot clé * désigne tous les postes clients, quelque soit leur adresse IP. La classe all englobe donc ici tous les types d'utilisateurs qui sont susceptibles de se connecter. Si vous ne souhaitez pas autoriser les connexions anonymes, le mot clé anonymous ne doit figurer dans aucune classe (même chose pour guest et real).

Examinons quelques autres mots clés :

Remarque : le mot clé guest-root s'applique à tous les utilisateurs qui ont le droit guest, ce qui implique qu'ils ont tous le même répertoire racine. Dans certains cas, il est parfois nécessaire de définir un répertoire racine différent suivant l'utilisateur. Pour cela, il faut modifier la ligne correspondant à l'utilisateur concerné dans le fichier /etc/passwd. Prenons un exemple : supposons que je veuille que l'utilisateur toto, ayant les droits guest, ait comme répertoire par défaut /home/ftp/pub, et comme répertoire racine /home/ftp. Dans le fichier /etc/passwd, il faut écrire :

toto:x:504:504::/home/ftp/./pub:/bin/bash

Ainsi, lorsque toto se connecte, il arrive directement dans le répertoire /home/ftp/pub, peut s'il le souhaite changer de répertoire, mais ne peut aller au delà de /home/ftp.


Index Page précédente Page suivante