<abstract><para>&kwuftpd; est une interface graphique de &kde; pour éditer les fichiers <filename>ftpaccess</filename> de <application>wu-ftpd</application>.</para></abstract>
<para>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.</para>
<para>&kwuftpd; est une interface graphique intégré à &kde; d'édition des fichiers ftpaccess de <application>wu-ftpd</application>. &kwuftpd; était à l'origine destiné à <application>BeroFTPD</application> 1.2.1 et a été adapté pour la version 2.6.1 de <application>wu-ftpd</application> présente dans la distribution &RedHat; &Linux; 7.0. Si vous utilisez une version plus récente de <application>wu-ftpd</application> avec des fonctionnalités supplémentaires, vous devrez mettre à jour votre version de &kwuftpd; (ou éditer les fichiers <filename>ftpaccess</filename> à la main) pour pourvoir les utiliser.</para>
<warning><para>&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;.</para></warning>
<para>&kwuftpd; a été écrit par Bernhard Rosenkraenzer <email>bero@redhat.com</email> et est sous (c) 2000 &RedHat;, Inc.</para>
<para>Au-delà des démentis habituels qui viennent avec les logiciels (<quote>Nous ne sommes pas responsables pour un quelconque problème qui pourrait survenir</quote>), 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 :</para>
<listitem><para>&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.</para></listitem>
<listitem><para>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.</para></listitem>
<listitem><para>Assurez-vous d'avoir bien enregistré le fichier <filename>/etc/ftpaccess</filename> avant de le modifier avec &kwuftpd;.</para></listitem>
<para>&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 :</para>
<step><para><application>wu-ftpd</application> ou un serveur &FTP; similaire doit être installé. Le paquetage <application>anonftp</application> peut aussi être utile pour avoir un accès &FTP; anonyme.</para></step>
<step><para>Le fichier <filename>/etc/inetd.conf</filename> contient une ligne ressemblant à :</para>
<para>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 <filename>/etc/inetd.conf</filename> (l'appel de <userinput><command>/etc/rc.d/init.d/inet</command> <parameter>restart</parameter></userinput> en ligne de commande fonctionne sous &RedHat; et les systèmes similaires). </para></step>
<para>Pour lancer &kwuftpd;, choisissez <menuchoice><guisubmenu>Système</guisubmenu> <guisubmenu>Autres programmes</guisubmenu> <guimenuitem>KWuFTPD</guimenuitem> </menuchoice> à partir du menu de &kde;, ou bien saisissez <userinput><command>kwuftpd</command></userinput> 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 <userinput><command>kwuftpd</command> <option>--all</option></userinput>.</para>
<para>Une utilisation pour toute personne désirant se connecter au serveur, les utilisateurs ouvrent une session en tant que <userinput>ftp</userinput> ou <userinput>anonymous</userinput> et fournissent leur adresse de courrier électronique pour le mot de passe.</para>
<listitem><para>Ouvre <filename>/etc/ftpaccess</filename>, le fichier de configuration standard de <application>wu-ftpd</application>, pour édition.</para></listitem>
<term><menuchoice><guimenu>Fichier</guimenu> <guimenuitem>Ouvrir un autre fichier...</guimenuitem> </menuchoice></term>
<listitem><para>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 <filename>/etc/ftpaccess</filename>.</para></listitem>
<para>Cet onglet vous permet de créer des classes utilisateur pour certaines adresses <acronym>IP</acronym> ou groupe d'adresses et de contrôler les privilèges de ces classes.</para>
<para>Pour créer une nouvelle classe, cliquez sur le bouton <guibutton>Ajouter une classe</guibutton> 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 <acronym>IP</acronym> de cette classe. Un caractère <userinput>*</userinput> peut être utilisé pour définir un groupe d'adresses (Par exemple, <userinput>127.0.0.*</userinput> contient tous les utilisateurs locaux). Ceci fait, cliquez sur <guibutton>OK</guibutton>.</para>
<para>Retournons à l'onglet <guilabel>Classes d'utilisateur</guilabel>. Vous pouvez sélectionner une classe et modifier sa description et son comportement. Les adresses <acronym>IP</acronym> 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 <guilabel>Membre de</guilabel> a pour conséquence d'assigner les sessions de la classe aux groupes sélectionnés et de donner ses privilèges.</para>
<para>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.</para>
<para>Sur la copie d'écran, les utilisateurs réels ouvrant une session à partir de 127.0.0.* sont membres de <quote>jsinger</quote> et seul un utilisateur de cette classe est permis à tout moment.</para>
<para>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.</para>
<para>Sur la copie d'écran, les utilisateurs anonymes voient un système de fichiers dont la racine est <filename class="directory">/home/ftp/pub</filename>, 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.</para>
<para>Cet onglet vous permet de spécifier un certain nombre d'options relatives à la sécurité. La fenêtre <guilabel>Non téléchargeables</guilabel> permet de bloquer le téléchargement de certains fichiers ou dossiers. Cliquez sur le bouton <guibutton>Ajouter</guibutton> et sélectionnez le fichier à bloquer. Sélectionnez une entrée et cliquez sur <guibutton>Supprimer</guibutton> pour ôter le fichier de la liste.</para>
<para><guilabel>Nombre d'échecs de connexion autorisé</guilabel> ferme les connexions après un nombre spécifié d'échecs d'ouverture de session.</para>
<para>Cocher <guilabel>Autoriser SITE GROUP</guilabel> permet aux utilisateurs de modifier le groupe auxquels ils appartiennent avec la commande <userinput><command>SITE</command> <option>GROUP</option></userinput>.</para>
<para>La permission d'utiliser les commandes <command>chmod</command>, <command>delete</command>, <command>overwrite</command>, <command>rename</command> et <command>umask</command> peut être activé ou refusé pour les utilisateurs anonymes, invités ou réels.</para>
<para>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é.</para>
<para>Si la case <guilabel>Appliquer</guilabel> est coché, les ouvertures de session échouant le test seront refusées autrement un avertissement sera affiché.</para>
<para>Sur la copie d'écran, les dossiers <filename class="directory">/bin</filename> et <filename class="directory">/sbin</filename> et le fichier <filename>/etc/passwd</filename> sont bloqués pour téléchargement. Les tentatives de connexion sont arrêtées après 5 échecs, <userinput><command>SITE</command> <option>GROUP</option></userinput> 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.</para>
<para>Cet onglet vous permet de spécifier des messages devant être affichés pour l'utilisateur ouvrant une session.</para>
<para>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.</para>
<para>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 <token>%L</token>). Si aucun nom d'hôte n'est fourni, le vrai nom d'hôte sera utilisé.</para>
<para>De manière semblable, une adresse électronique de l'administrateur peut être définie pour insertion dans les messages (avec <token>%E</token>).</para>
<para>Cochez les cases pour que les messages et les fichiers <filename>README</filename> 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.</para>
<para>Cliquez sur le bouton <guibutton>Ajouter le message</guibutton> 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.</para>
<para>Parallèlement, l'utilisateur peut être averti de l'existence d'un fichier <filename>README</filename> après l'ouverture de session ou de changement de dossier.</para>
<para>Sur la copie d'écran, le texte dans <filename>/home/ftp/welcome.txt</filename> sera affiché lors de la connexion. Le nom d'hôte <systemitem class="systemname">camelot</systemitem> et l'adresse de l'administrateur <email>jsinger@leeta.net</email> seront insérés dans les messages mais aucun message ou fichier <filename>README</filename> n'a été défini.</para>
<para>Cet onglet vous permet de contrôler les activités qui doivent être journalisées (dans <filename>/var/log/xferlog</filename>). 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).</para>
<para>Le fait de cocher <guilabel>Rediriger le journal vers le journal système (syslog)</guilabel> envoie les entrées du journal vers le journal système à la place du journal &FTP;. </para>
<para>Des courriers peuvent être envoyés à l'administrateur lorsque des fichiers sont déposés sur le serveur. L'adresse de <computeroutput>l'expéditeur</computeroutput> des courriers, le serveur de courriers et l'adresse électronique de l'administrateur peuvent être spécifiés.</para>
<para>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 à <quote>admin</quote> par <quote>Annonce de dépôts</quote> envoyé par le serveur de courriers par défaut.</para>
<para>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é.</para>
<listitem><para>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.</para></listitem>
<para>Cet onglet vous permet de contrôler où et comment les utilisateurs peuvent déposer des fichiers. Cliquez sur <guibutton>Ajouter</guibutton> pour un nouvel ensemble de règles, <guibutton>Édition</guibutton> pour modifier l'ensemble sélectionné et <guibutton>Supprimer</guibutton> pour supprimer l'ensemble sélectionné.</para>
<para>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, <filename>/home/ftp/upload/*</filename> inclus tout le contenu de <filename class="directory">/home/ftp/upload</filename>).</para>
<para>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.</para>
<listitem><para>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.</para></listitem>
<term><guilabel>Fichier de mots de passe</guilabel></term>
<listitem><para>Un fichier de mots de passe alternatif peut être spécifié. Autrement, le fichier système de mots de passe sera utilisé.</para></listitem>
<listitem><para>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é.</para></listitem>
<para>Les connexions anonymes peuvent être accordées ou refusées.</para>
<para>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.</para>
<para>Dans la copie d'écran, la machine virtuelle <systemitem class="systemname">211.22.55.114</systemitem> a un système de fichiers dont la racine est <filename class="directory">/home/ftp/virtual</filename> dans le système réel. Il utilise un fichier de mots de passe et de mots de passe shadow séparé dans <filename class="directory">/home/ftp</filename>, affiche le nom de la machine <systemitem class="systemname">ganesh</systemitem> et l'adresse électronique de l'administrateur <quote>root</quote> et autorise les connexions anonymes et les connexions de tous les utilisateurs réels.</para>
<para>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 <ulink url="ftp://ftp.kde.org/pub/">ftp://ftp.kde.org/pub/</ulink>.</para>
<para>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 <application>wu-ftpd</application> 2.6.1 (<ulink url="ftp://ftp.wu-ftpd.org/pub/wu-ftpd/">ftp://ftp.wu-ftpd.org/pub/wu-ftpd/</ulink>). Vous pouvez utiliser les fichiers avec <application>wu-ftpd</application> 2.5.0 aussi, mais ne vous attendez pas à ce que toutes les fonctionnalités soient prises en compte.</para>