# Manuel de &kwuftpd;

## Introduction

Les systèmes d'exploitation de type &UNIX; sont peut-être mieux connus pour leur rôle de serveurs. Il peut être cependant difficile pour les utilisateurs de configurer les fichiers nécessaires pour gérer ces services. Parallèlement à cela, la plupart des distributions compensent trop cette difficulté en intégrant des systèmes qui sont configurés, par défaut, de façon dangereusement permissives.

&kwuftpd; est une interface graphique intégré à &kde; d'édition des fichiers ftpaccess de wu-ftpd. &kwuftpd; était à l'origine destiné à BeroFTPD 1.2.1 et a été adapté pour la version 2.6.1 de wu-ftpd présente dans la distribution &RedHat; &Linux; 7.0. Si vous utilisez une version plus récente de wu-ftpd avec des fonctionnalités supplémentaires, vous devrez mettre à jour votre version de &kwuftpd; (ou éditer les fichiers `ftpaccess` à la main) pour pourvoir les utiliser.

&kwuftpd; est encore en version bêta : vous avez tout intérêt à faire une copie de votre fichier ftpaccess avant de l'éditer avec &kwuftpd;.

&kwuftpd; a été écrit par Bernhard Rosenkraenzer bero@redhat.com et est sous (c) 2000 &RedHat;, Inc.

### Démenti

Au-delà des démentis habituels qui viennent avec les logiciels (Nous ne sommes pas responsables pour un quelconque problème qui pourrait survenir), il est souligné que &kwuftpd; contrôle la possibilité aux utilisateurs de se connecter à votre système et d'ajouter, de supprimer ou de modifier des fichiers. Gardez bien à l'esprit que :

- &kwuftpd; facilite l'établissement d'un serveur sécurisé -- il ne fournit aucune garantie de réussite. Il existe une mine de livres, de sites web et de cours sur la sécurité réseau et les administrateurs devraient en abuser.

- Les exemples donnés dans cette documentation ont pour but d'illustrer les opérations de &kwuftpd;. Ce ne sont pas des recommandations de sécurité et ne doivent pas être traitées en tant que telles.

- Assurez-vous d'avoir bien enregistré le fichier `/etc/ftpaccess` avant de le modifier avec &kwuftpd;.

## Configuration basique de &kwuftpd;

&kwuftpd; n'a de la valeur que sur une machine avec un serveur &FTP; fonctionnel. La configuration d'un serveur dépasse le cadre de ce document, mais en un mot :

1. wu-ftpd ou un serveur &FTP; similaire doit être installé. Le paquetage anonftp peut aussi être utile pour avoir un accès &FTP; anonyme.

2. Le fichier `/etc/inetd.conf` contient une ligne ressemblant à :

       # ftp   stream  tcp nowait  root    /usr/sbin/tcpd  in.ftpd -l -a

   Décommentez cette ligne en supprimant le '#' de début de ligne. Si votre système est fourni avec cette ligne non commentée, prenez cela comme un avertissement et mettez en commentaire les autres services que vous ne souhaitez pas utiliser. Redémarrez `/etc/inetd.conf` (l'appel de ``/etc/rc.d/init.d/inet` `restart`` en ligne de commande fonctionne sous &RedHat; et les systèmes similaires).

## Utiliser &kwuftpd;

### Démarrer &kwuftpd;

Pour lancer &kwuftpd;, choisissez Système Autres programmes KWuFTPD à partir du menu de &kde;, ou bien saisissez ``kwuftpd`` dans une ligne de commande. Les options standards de la ligne de commandes de &Qt; et de &kde; sont disponibles, et peuvent être affichées en saisissant ``kwuftpd` `--all``.

### À propos des comptes &FTP;

&kwuftpd; demande régulièrement à l'utilisateur de distinguer 3 types d'utilisateurs :

Anonymes

- Une utilisation pour toute personne désirant se connecter au serveur, les utilisateurs ouvrent une session en tant que `ftp` ou `anonymous` et fournissent leur adresse de courrier électronique pour le mot de passe.

Invités

- Les utilisateurs ayant des comptes &FTP; dans `/etc/ftpusers` mais n'ayant pas un compte complet sur le système.

Réels

- Les utilisateurs ayant un compte sur le système.

### Les commandes du menu

#### Le menu Fichier

Fichier Ouvrir /etc/ftpaccess

- Ouvre `/etc/ftpaccess`, le fichier de configuration standard de wu-ftpd, pour édition.

Fichier Ouvrir un autre fichier...

- Ouvre un fichier différent pour édition. Ceci est utile si vous désirez faire des tests sur un fichier différent avant d'officialiser vos modifications dans `/etc/ftpaccess`.

Fichier Enregistrer /etc/ftpaccess

- Enregistre les modifications dans `/etc/ftpaccess`.

Fichier Enregistrer un autre fichier...

- Enregistre les modifications dans un fichier qui devra être spécifié.

Fichier Quitter

- Ferme &kwuftpd;.

#### Le menu Aide

&help.menu.documentation;

### Classes d'utilisateur

L'onglet Classes d'utilisateur L'onglet Classes d'utilisateur

L'onglet Classes d'utilisateur

Cet onglet vous permet de créer des classes utilisateur pour certaines adresses IP ou groupe d'adresses et de contrôler les privilèges de ces classes.

Pour créer une nouvelle classe, cliquez sur le bouton Ajouter une classe et, dans la boîte de dialogue qui vient de s'ouvrir, saisissez le nom de la nouvelle classe, le niveau de privilèges auquel peut appartenir la classe (plus d'informations ci-dessous) et l'adresse IP de cette classe. Un caractère `*` peut être utilisé pour définir un groupe d'adresses (Par exemple, `127.0.0.*` contient tous les utilisateurs locaux). Ceci fait, cliquez sur OK.

Retournons à l'onglet Classes d'utilisateur. Vous pouvez sélectionner une classe et modifier sa description et son comportement. Les adresses IP peuvent être modifiées. La classe peut être définie pour inclure les utilisateurs anonymes, invités et/ou réels à partir de cette adresse. Vérifier que la boîte Membre de a pour conséquence d'assigner les sessions de la classe aux groupes sélectionnés et de donner ses privilèges.

Le côté droit de l'onglet permet d'attribuer aux classes des limites sur le nombre de sessions simultanés pendant des périodes définies. Vous pouvez spécifier le message affiché lorsque la limite d'utilisateurs est dépassée.

Sur la copie d'écran, les utilisateurs réels ouvrant une session à partir de 127.0.0.* sont membres de jsinger et seul un utilisateur de cette classe est permis à tout moment.

### Dossiers

L'onglet Dossiers L'onglet Dossiers

L'onglet Dossiers

Cet onglet vous permet de spécifier le dossier racine pour les utilisateurs anonymes et invités (les utilisateurs réels voient le vrai système de fichiers). Il vous permet aussi de spécifier un mot de passe et les fichiers de mots de passe shadow qui sont utilisés. Si aucun fichier n'est spécifié, le fichier système est utilisé par défaut.

Sur la copie d'écran, les utilisateurs anonymes voient un système de fichiers dont la racine est `/home/ftp/pub`, alors que l'utilisateur invité possède un accès par défaut. Les fichiers de mots de passe &FTP; spéciaux sont utilisés à la place des fichiers systèmes.

### Sécurité

L'onglet Sécurité L'onglet Sécurité

L'onglet Sécurité

Cet onglet vous permet de spécifier un certain nombre d'options relatives à la sécurité. La fenêtre Non téléchargeables permet de bloquer le téléchargement de certains fichiers ou dossiers. Cliquez sur le bouton Ajouter et sélectionnez le fichier à bloquer. Sélectionnez une entrée et cliquez sur Supprimer pour ôter le fichier de la liste.

Nombre d'échecs de connexion autorisé ferme les connexions après un nombre spécifié d'échecs d'ouverture de session.

Cocher Autoriser SITE GROUP permet aux utilisateurs de modifier le groupe auxquels ils appartiennent avec la commande ``SITE` `GROUP``.

La permission d'utiliser les commandes `chmod`, `delete`, `overwrite`, `rename` et `umask` peut être activé ou refusé pour les utilisateurs anonymes, invités ou réels.

Les utilisateurs anonymes sont censés fournir leur adresse de courrier électronique comme mot de passe. Le degré de vérification peut être contrôlé.

Non

- Il n'y aura aucune vérification du mot de passe fourni.

trivial

- Le mot de passe doit contenir un caractère @.

RFC822

- Le mot de passe doit être une adresse valable.

Si la case Appliquer est coché, les ouvertures de session échouant le test seront refusées autrement un avertissement sera affiché.

Sur la copie d'écran, les dossiers `/bin` et `/sbin` et le fichier `/etc/passwd` sont bloqués pour téléchargement. Les tentatives de connexion sont arrêtées après 5 échecs, ``SITE` `GROUP`` sont interdits, les commandes sont interdites pour les utilisateurs anonymes mais permises pour les invités et les comptes réels. Les utilisateurs anonymes soumettant des adresses électroniques non conformes à la RFC sont avertis.

### Messages

L'onglet Messages L'onglet Messages

L'onglet Messages

Cet onglet vous permet de spécifier des messages devant être affichés pour l'utilisateur ouvrant une session.

Choisissez un fichier pour la banderole qui doit être affichée lors de la connexion (avant l'ouverture de session). Certains clients &FTP; extrêmement vieux peuvent être troublés par la banderole.

Le nom d'hôte peut être spécifié. Celui-ci sera rapporté à l'utilisateur après l'ouverture de la session, et peut être inséré dans d'autres messages (avec %L). Si aucun nom d'hôte n'est fourni, le vrai nom d'hôte sera utilisé.

De manière semblable, une adresse électronique de l'administrateur peut être définie pour insertion dans les messages (avec %E).

Cochez les cases pour que les messages et les fichiers `README` soient montrés à l'utilisateur chaque fois que l'événement de déclenchement (terme expliqué plus bas) survient , sinon ils seront montrés uniquement la première fois.

Cliquez sur le bouton Ajouter le message pour indiquer le texte à afficher pour l'utilisateur. Il vous sera demandé de fournir l'emplacement du fichier texte, de spécifier s'il doit être affiché lors de l'ouverture de la session ou lors du changement vers un dossier spécifié et s'il doit être affiché pour toutes les classes d'utilisateurs ou pour certaines classes particulières.

Parallèlement, l'utilisateur peut être averti de l'existence d'un fichier `README` après l'ouverture de session ou de changement de dossier.

Sur la copie d'écran, le texte dans `/home/ftp/welcome.txt` sera affiché lors de la connexion. Le nom d'hôte `camelot` et l'adresse de l'administrateur jsinger@leeta.net seront insérés dans les messages mais aucun message ou fichier `README` n'a été défini.

### Journalisation

L'onglet Journalisation L'onglet Journalisation

L'onglet Journalisation

Cet onglet vous permet de contrôler les activités qui doivent être journalisées (dans `/var/log/xferlog`). Les utilisateurs anonymes, invités et réels peuvent avoir différents événements de journalisation, dont les commandes rentrées, les dépôts, les téléchargements et les violations de sécurité (comme les échecs d'ouverture de session).

Le fait de cocher Rediriger le journal vers le journal système (syslog) envoie les entrées du journal vers le journal système à la place du journal &FTP;.

Des courriers peuvent être envoyés à l'administrateur lorsque des fichiers sont déposés sur le serveur. L'adresse de `l'expéditeur` des courriers, le serveur de courriers et l'adresse électronique de l'administrateur peuvent être spécifiés.

Sur la copie d'écran, toutes les commandes et les transferts sont journalisés, de même que les violations de sécurité pour les utilisateurs réels. Les dépôts sont signalés par un message à admin par Annonce de dépôts envoyé par le serveur de courriers par défaut.

### Ratios

L'onglet Ratios L'onglet Ratios

L'onglet Ratios

Cet onglet vous permet de restreindre l'utilisation pour les utilisateurs anonymes et invités. Chacune de ces restrictions peut être appliquée à un utilisateur anonyme ou invité.

Rapport d'envoi/téléchargement

- Par exemple, le positionner à 1:5 nécessite de la part des utilisateurs de déposer 1 Mo de donnée à chaque fois que 5 Mo sont téléchargées. Sa configuration à une valeur optimum est la clé de votre succès si vous aspirez à être un w4r3z kiddi3.

Limite de temps

- Permet aux utilisateurs de se connecter pendant cette durée.

Limite d'envoi

- Définit la quantité maximum d'octet qui peut être déposée par session.

Limite de téléchargement

- Définit la quantité maximum d'octets qui peut être téléchargée par session.

Les fichiers et les dossiers peuvent être exempté des limites d'envoi et de téléchargements.

Sur la copie d'écran, les ratios sont désactivés, les utilisateurs anonymes peuvent rester 15 minutes et télécharger 10 Mo par connexion.

### Dépôts

L'onglet Envois L'onglet Envois

L'onglet Envois

Cet onglet vous permet de contrôler où et comment les utilisateurs peuvent déposer des fichiers. Cliquez sur Ajouter pour un nouvel ensemble de règles, Édition pour modifier l'ensemble sélectionné et Supprimer pour supprimer l'ensemble sélectionné.

Chaque ensemble s'applique pour des utilisateurs ayant un dossier racine particulier et lui affecte un dossier de dépôts spécifié. Le dossier de dépôts peut être globalisé (par exemple, `/home/ftp/upload/*` inclus tout le contenu de `/home/ftp/upload`).

Les dépôts peuvent être permis ou refusés, et les permissions des fichiers créés ainsi que leur propriétaire et leur groupe peuvent être configurés. La possibilité de créer de nouveaux dossiers dans un dossier existant peut être accordée ou refusée.

### Hôtes virtuels

L'onglet Hôtes virtuels L'onglet Hôtes virtuels

L'onglet Hôtes virtuels

Les éléments suivants peuvent être spécifiés pour chaque adresse :

Dossier racine

- Ce que l'utilisateur connecté voit comme racine du système de fichiers ( `/`).

Bannière

- Un fichier dont le contenu sera montré à l'utilisateur après la connexion. L'endroit du fichier est relatif à la racine définie ci-dessus.

Journal

- Les transferts seront journalisés dans ce fichier.

Fichier de mots de passe

- Un fichier de mots de passe alternatif peut être spécifié. Autrement, le fichier système de mots de passe sera utilisé.

Fichier shadow

- Un fichier de mots de passe shadow alternatif peut être spécifié. Autrement, c'est le fichier de mots de passe shadow du système qui sera utilisé.

Nom de machine

- Le nom de machine affiché après l'ouverture de session et inséré par %L dans les fichiers messages.

Adresse électronique de l'administrateur

- L'adresse électronique à insérer avec %E dans les fichiers messages.

Les connexions anonymes peuvent être accordées ou refusées.

Les utilisateurs réels peuvent être autorisés ou non à accéder au serveur virtuel. Un utilisateur spécifique peut aussi avoir l'autorisation ou non d'y accéder.

Dans la copie d'écran, la machine virtuelle `211.22.55.114` a un système de fichiers dont la racine est `/home/ftp/virtual` dans le système réel. Il utilise un fichier de mots de passe et de mots de passe shadow séparé dans `/home/ftp`, affiche le nom de la machine `ganesh` et l'adresse électronique de l'administrateur root et autorise les connexions anonymes et les connexions de tous les utilisateurs réels.

## Remerciements et licences

&kwuftpd;

Une application écrite par Bernhard Rosenkraenzer bero@redhat.com, et qui est un copyright 2000 &RedHat;, Inc.

La documentation est copyright 2000 par Jonathan Singer jsinger@leeta.net.

&underFDL; &underGPL;

## Installation

&install.intro.documentation;

Pour obtenir &kwuftpd; séparément, il fait partie du paquetage tdeadmin, et doit être compilé et installé comme indiqué dans le dossier principal du paquetage. De nouvelles versions de tdeadmin peuvent être récupérées sur ftp://ftp.kde.org/pub/.

&install.compile.documentation;

Il vous sera aussi nécessaire de posséder un démon ftpd qui peut gérer les fichiers ftpaccess générés - &kwuftpd; a été écrit pour wu-ftpd 2.6.1 (ftp://ftp.wu-ftpd.org/pub/wu-ftpd/). Vous pouvez utiliser les fichiers avec wu-ftpd 2.5.0 aussi, mais ne vous attendez pas à ce que toutes les fonctionnalités soient prises en compte.