Gene6 FTP Server v3 - Manuel
Transcription
Gene6 FTP Server v3 - Manuel
Gene6 FTP Server v3 − Manuel Gene6 SARL Gene6 FTP Server v3 − Manuel Table of Contents Chapitre I − Introduction.....................................................................................................................................................................1 1 − Gene6 FTP Server..........................................................................................................................................................1 2 − Sécurité...........................................................................................................................................................................1 3 − Administration à distance................................................................................................................................................1 4 − Pré−requis.......................................................................................................................................................................1 5 − Mise à jour.......................................................................................................................................................................2 6 − Changements et historique.............................................................................................................................................2 7 − Support technique...........................................................................................................................................................2 8 − Copyrights.......................................................................................................................................................................2 9 − Crédits.............................................................................................................................................................................2 Chapitre II − Installation......................................................................................................................................................................4 1 − Installation du logiciel......................................................................................................................................................4 2 − Contenu de l'installation..................................................................................................................................................6 3 − Désinstallation.................................................................................................................................................................7 Chapitre III − Guide de démarrage.....................................................................................................................................................8 1 − Aperçu.............................................................................................................................................................................8 2 − Structure..........................................................................................................................................................................8 3 − Bases..............................................................................................................................................................................9 Chapitre IV − Administration............................................................................................................................................................10 1 − Aperçu rapide................................................................................................................................................................10 2 − Options..........................................................................................................................................................................11 3 − Options du log...............................................................................................................................................................12 4 − IP d'écoute....................................................................................................................................................................13 5 − Accès IP........................................................................................................................................................................14 Chapitre V − Administrateur.............................................................................................................................................................16 1 − Overview.......................................................................................................................................................................16 2 − Assistant........................................................................................................................................................................17 3 − Administrateur...............................................................................................................................................................18 4 − Accès IP........................................................................................................................................................................18 5 − Droits sur le domaine....................................................................................................................................................20 Chapitre VI − Serveur FTP................................................................................................................................................................21 1 − Aperçu...........................................................................................................................................................................21 2 − Options..........................................................................................................................................................................22 3 − Fichiers bannis..............................................................................................................................................................23 4 − Vitesse de Transfert......................................................................................................................................................24 5 − Statistiques....................................................................................................................................................................25 6 − Accès IP........................................................................................................................................................................26 Chapitre VII − Serveur FTP info.......................................................................................................................................................28 1 − Aperçu...........................................................................................................................................................................28 2 − Certificats......................................................................................................................................................................28 3 − License..........................................................................................................................................................................29 4 − Log................................................................................................................................................................................29 5 − Plugins...........................................................................................................................................................................30 6 − Etat................................................................................................................................................................................30 Chapitre VIII − Domaines..................................................................................................................................................................31 1 − Aperçu...........................................................................................................................................................................31 2 − Assistant........................................................................................................................................................................32 3 − Options..........................................................................................................................................................................35 4 − Authentification..............................................................................................................................................................36 5 − Divers............................................................................................................................................................................39 6 − Options du log...............................................................................................................................................................40 7 − Messages......................................................................................................................................................................43 8 − Fichiers bannis..............................................................................................................................................................44 9 − Alias de nom..................................................................................................................................................................45 10 − Vitesse de transfert.....................................................................................................................................................46 11 − Limite de transfert........................................................................................................................................................48 12 − Statistiques..................................................................................................................................................................49 i Gene6 FTP Server v3 − Manuel Table of Contents Chapitre VIII − Domaines 13 − Evénements................................................................................................................................................................50 14 − Scriptes.......................................................................................................................................................................51 15 − Commandes SITE.......................................................................................................................................................52 16 − Sécurité.......................................................................................................................................................................53 17 − IP d'écoute..................................................................................................................................................................54 18 − Accès IP......................................................................................................................................................................56 19 − SSL..............................................................................................................................................................................57 Chapitre IX − Domaine info..............................................................................................................................................................58 1 − Aperçu...........................................................................................................................................................................58 2 − Activité...........................................................................................................................................................................58 3 − Log................................................................................................................................................................................58 4 − Bans temporaires..........................................................................................................................................................58 5 − Trafic.............................................................................................................................................................................59 Chapitre X − Interface Compte Utilisateur......................................................................................................................................60 1 − Compte utilisateur.........................................................................................................................................................60 2 − Assistant........................................................................................................................................................................61 3 − Options..........................................................................................................................................................................62 4 − Droits d'accès................................................................................................................................................................62 5 − Options diverses............................................................................................................................................................63 6 − Avancé..........................................................................................................................................................................64 7 − Fichiers bannis..............................................................................................................................................................66 8 − Fichiers libres................................................................................................................................................................67 9 − Quota, ratio....................................................................................................................................................................68 10 − Vitesse de transfert.....................................................................................................................................................69 11 − Limite de transfert........................................................................................................................................................71 12 − Accès horaires.............................................................................................................................................................72 13 − Notes...........................................................................................................................................................................73 14 − Statistiques..................................................................................................................................................................74 15 − Scriptes.......................................................................................................................................................................75 16 − Commandes SITE.......................................................................................................................................................76 17 − Accès IP......................................................................................................................................................................78 18 − Classe d'utilisateur......................................................................................................................................................79 Chapitre XI − Interface Compte Groupe..........................................................................................................................................81 1 − Compte groupe..............................................................................................................................................................81 2 − Droits d'Accès...............................................................................................................................................................81 3 − Fichiers libres................................................................................................................................................................82 4 − Fichiers bannis..............................................................................................................................................................82 5 − Notes.............................................................................................................................................................................82 6 − Scriptes.........................................................................................................................................................................82 7 − Commandes SITE.........................................................................................................................................................82 8 − Accès IP........................................................................................................................................................................82 Chapitre XII − VFS (Fichiers Virtuels)..............................................................................................................................................83 1 − Fonctionnement.............................................................................................................................................................83 2 − Ressources disponibles................................................................................................................................................83 3 − Droits d'accès................................................................................................................................................................84 4 − Additionnel.....................................................................................................................................................................85 Chapitre XIII − Scriptes.....................................................................................................................................................................86 1 − Fonctionnement.............................................................................................................................................................86 2 − Ressources disponibles................................................................................................................................................86 3 − Exemple........................................................................................................................................................................88 4 − Scriptes avancés...........................................................................................................................................................89 5 − Exemple avancé............................................................................................................................................................91 Chapitre XIV − Tags et personnalisation........................................................................................................................................94 1 − Fonctionnement.............................................................................................................................................................94 2 − Tags disponibles...........................................................................................................................................................94 3 − Exemple........................................................................................................................................................................97 ii Gene6 FTP Server v3 − Manuel Table of Contents Chapitre XV − Tutoriels.....................................................................................................................................................................98 1 − Importation de comptes (v2.x).......................................................................................................................................98 2 − Backup des configurations............................................................................................................................................98 3 − Administrer un serveur distant.......................................................................................................................................99 4 − Configuration avec un routeur.....................................................................................................................................100 5 − Configuration avec un firewall.....................................................................................................................................101 6 − SSL sur un domaine....................................................................................................................................................101 Chapitre XVI − Documents.............................................................................................................................................................102 1 − RFC.............................................................................................................................................................................102 2 − Commandes FTP........................................................................................................................................................102 3 − FAQ.............................................................................................................................................................................114 iii Chapitre I − Introduction 1 − Gene6 FTP Server Gene6 FTP Server v3 est la version professionelle de G6FTP Server, notre produit leader démarré en 1998. C'est un serveur FTP complet pour Microsoft Windows 2000/XP/2003. Il vous permet de fournir un accès sécurisé à vos données via internet. Vous pouvez gérer l'accès par des comptes utilisateurs/groupes, par dossiers, créer des sites FTP virtuels, définir des restrictions telles que l'accès horaire, les IP ... G6FTP Server respecte les standards Internet pour le protocol FTP. Les RFC supportés sont : RFC−775, RFC−959, RFC−1123, RFC−2228, RFC−2389, RFC−2428, RFC−2577, RFC−2640 (UTF8). (voir : http://www.rfc−editor.org/) 2 − Sécurité Le développement de G6FTP Server a été basé sur l'accès sécurisé aux données : • SSL (explicite/implicite) peut être utilisé pour l'échange de fichiers importants. • Restriction d'accès basée sur l'IP/Host. • Accès aux fichiers/dossiers gérés par des droits d'accès. • Administration à distance sur une connexion sécurisée. • Comptes d'administration (admin, super admin). • Authentification NT (utilisation des mots de passe Windows). • One Time Password S/Key (MD5). • Connexion maximum (IP, domaine, utilisateur). • Expiration des comptes. • Vérification de l'intégrité des fichiers (CRC, MD5). 3 − Administration à distance Parce que vous n'êtes pas toujours physiquement devant le serveur, l'accès à distance vous permet d'ajouter, modifier, supprimer des utilisateurs mais aussi de changer toutes les options du serveur comme si vous étiez connecté localement. L'avantage est que l'interface sera la même, à distance ou localement. Vous pouvez aussi déléguer l'administration à un autre responsable en créant un nouveau compte administrateur avec des droits plus restreints (voir Administration du server) L'administration à distance est sécurisée grace au SSL et utilise son propre port réseau. 4 − Pré−requis • Système d'exploitation : Windows NT4.0 (SP6a, workstation/server), Windows 2000 (pro/server/adv. server), Windows XP (home/pro), Windows 2003 (web/std/server). • Processeur : Intel, AMD processor (PIII 500Mhz recommandé). • Mémoire : Minimum 64Mo mémoire système (128Mo recommandés). • Espace disque : Minimum 15Mo (pour le logiciel et les fichiers de configuration). • Connexion Internet : modem (28.8k), cable, adsl ou mieux (dsl/cable recommandé). • Réseau : Microsoft's 32−bit TCP/IP networking component. Winsock 2.0. Chapitre I − Introduction 1 Gene6 FTP Server v3 − Manuel 5 − Mise à jour Vous pouvez télécharger les nouvelles versions à partir de notre site lorsqu'elles sont disponibles . Voir : http://www.g6ftpserver.com/?page=download 6 − Changements et historique Les changements sont reportés dans le fichier Version.txt qui est affiché lors de l'installation du logiciel, il est présent dans le répertoire d'installation, ou en ligne, voir : http://www.g6ftpserver.com/?page=files/version.txt 7 − Support technique En cas de problème, n'hésitez pas à consulter notre FAQ (Questions Fréquemment Posées) : http://www.g6ftpserver.com/?page=faq ou contactez nous : http://www.g6ftpserver.com/?page=support 8 − Copyrights Gene6, Sarl 33 rue de Jemmapes C22 59800 Lille France web : http://www.Gene6.com − http://www.G6FTPServer.com The information in this document is subject to change without notice and should not be construed as a commitment by Gene6, Sarl. While every effort has been made to assure the accuracy of the information contained herein, Gene6, Sarl assumes no responsibility for errors or omissions. Gene6, Sarl. assumes no liability for damages resulting from the use of the information contained in this document. The software described in this document is published under a license and may be used or copied only in accordance with the terms of that license. Gene6 FTP Server, Copyright © 2004 by Gene6, Sarl All rights reserved. Other products or company names are or may be trademarks or registered trademarks and are the property of their respective companies. No part of this publication may be reproduced, photocopied, stored on a retrieval system, or transferred without the expressed prior written consent of Gene6, Sarl. Printing history : February 2004 First edition September 2004 Manual update v3.2 9 − Crédits Crédits : The OpenSSL DLLs include software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/) The OpenSSL DLLs include cryptographic software written by Eric Young (eay@cryptsoft.com). The OpenSSL DLLs include software written by Tim J. Hudson (tjh@cryptsoft.com). This program uses zlib Copyright (C) 1995−2003 Jean−loup Gailly and Mark Adler (http://www.gzip.org/zlib/) This program uses Tnt Delphi Unicode Controls by Troy Wolbrink (http://home.ccci.org/wolbrink/tnt/delphi_unicode_controls.htm) This program uses RecyclerMM by Eric Grange − Creative IT (http://glscene.org) Remerciements : Merci à tous les testeurs et supporters : Supernature, KnuckleHead, Chico77, Eskimo, Jose, Tom Reiertsen, Mrzaz, James Hughes, Michael Pruefer, Mario, Misteriks, Adam Saunders, Alexander Zonin, Jason Choppert, Jonas Sladen et à toutes les personnes que nous avons pu oublier de Chapitre I − Introduction 2 Gene6 FTP Server v3 − Manuel lister mais qui ont rapporté des bugs et soumis des suggestions. Chapitre I − Introduction 3 Chapitre II − Installation 1 − Installation du logiciel Pour installer G6FTP Server sur votre serveur, téléchargez l'archive à partir du site web et lancez la. Veuillez noter que vous devez être connecté en tant qu'administrateur. Si une erreur stipule que G6FTP Server s'exécute déjà, stoppez le service (via le menu démarrer) et lancez l'installation à nouveau. Lire les informations de Version et de License, puis sélectionner le dossier d'installation. Choisissez quels composants installer : Chapitre II − Installation 4 Gene6 FTP Server v3 − Manuel − pour une nouvelle installation, utilisez les options par défaut. − si vous installez l'administration à distance pour accéder à votre serveur, vous n'avez pas besoin d'installer le serveur lui même ou l'observateur trayicon. Sélectionner si vous désirez démarrer l'observateur Trayicon au démarrage de Windows et si vous désirez que des icones et des raccourcis soient créés dans le menu démarrer. Chapitre II − Installation 5 Gene6 FTP Server v3 − Manuel Installation ... Si vous mettez à jour votre version, l'installeur vous demandera de confirmer l'écrasement de certains fichiers (en général des fichiers scriptes et le fichier langage). Etape finale, le logiciel est installé, vous pouvez maintenant l'utiliser. 2 − Contenu de l'installation /accounts : contient les fichiers comptes et domaines. /administrative tools : contient les fichiers .bat pour démarrer/stopper le service. /backup : si vous avez mis à jour, ce dossier contient une copie de secours des anciens fichiers de configuration. /certificates : contient les certificats SSL créés par le serveur. /help : contient les fichiers d'aide. /log : contient les logs du server. /plugins : contient les plugins utilisés par le serveur. /remoteadmin : contient le certificat SSL utilisé par l'administration à distance. /scripts : contient les fichiers scriptes utilisables par le serveur. Chapitre II − Installation 6 Gene6 FTP Server v3 − Manuel /uninstall : informations de désinstallation du logiciel. G6FTPAdmin.exe : le client d'administration. G6FTPServer.exe : le serveur FTP. G6FTPTray.exe : l'application Tray icon qui reporte les informations du serveur local. languages.sib : fichier langage. libeay32.dll : dll SSL. libssl32.dll : dll SSL. license.txt : la license d'utilisation. remoteadminserver.dll : dll utilisée par l'administration à distance. version.txt : le fichier version, rapportant les changements. 3 − Désinstallation Lancez le raccourci présent dans le menu démarrer pour désinstaller G6FTP Server. Ensuite, vous pouvez aussi supprimer le répertoire après la désinstallation car les fichiers de configuration ne sont pas effacés par le désinstalleur. Chapitre II − Installation 7 Chapitre III − Guide de démarrage 1 − Aperçu Ce chapitre détaille rapidement l'organisation de l'interface de G6FTP Server. Il y a 2 applications principales : − le serveur FTP lui même − l'Administration Le serveur FTP fonctionne indépendamment en arrière plan et est accessible via l'Administration. Une fois installé, le serveur FTP s'exécute en système service (cela signifie qu'il démarre avec Windows, sans besoin de se logger). L'Administration peut être lancée via le menu Démarrer / Programmes / Gene6 FTP Server / Administration. 2 − Structure Une fois installée, l'Administration à distance sera lancée (si vous avez sélectionné l'option à la fin de l'installation, sinon voir menu Démarrer / Programmes / Gene6 FTP Server / Administration). Interface et options du serveur : Le panneau de gauche est le plus important, il donne accès à toutes les catégories d'options. Chapitre III − Guide de démarrage 8 Gene6 FTP Server v3 − Manuel Une fois sélectionné, le contenu se développe dans la partie de droite. Régles: Serveur FTP : − les options s'appliquent à tous les domaines (priorité). − les certificats sont disponibles dans tous les domaines (voir Options SSL au niveau domaine). − "log" affiche les informations de démarrage. − "plugins" liste les plugins installés (placés dans le dossier /plugins) disponibles au niveau serveur. − "état" affiche les statistiques pour tous les domaines. Domaines : − les options s'appliquent à tous les utilisateurs/groupes (priorité). 3 − Bases Ce qu'il faut savoir est qu'un serveur FTP se compose de 2 choses principales : − un domaine (comme ftp.gene6.com) − au moins un compte utilisateur Puis en fonction de vos besoins, vous pourrez ajouter le support SSL, de nouveaux comptes, des groupes, des restrictions ... Ce que vous devez savoir avant de créer votre serveur : − sera−t−il publique ou privé ? (création de compte anonyme ou pas) − hébergerez−vous plusieurs domaines ? (nécessité de plusieurs IP) − avez−vous besoin d'un compte anonyme ? − avez−vous besoin de cryptage ? (création de certificat) − êtes−vous derrière un routeur, sur un réseau locale ? (configuration du router et firewall) Vous pouvez à présent continuer la lecture de ce document et découvrir les options disponibles du logiciel. Chapitre III − Guide de démarrage 9 Chapitre IV − Administration 1 − Aperçu rapide Dans cette fenêtre, vous pouvez définir les propriétés du serveur d'Administration. Celui−ci utilise un port séparé et peut écouter sur une ou plusieurs IP. La configuration sera appliquée aux Administrateurs qui voudront changer les options du serveur au niveau général. Chapitre IV − Administration 10 Gene6 FTP Server v3 − Manuel 2 − Options Divers : Permettre l'accès complet à l'utilisateur local : les connexions à partir du localhost peuvent administrer le serveur sans spécifier de mot de passe. (Il est conseillé de désactiver cette option une fois que vous aurez créé un compte Administrateur ou si le serveur est dans un environnement partagé). Chapitre IV − Administration 11 Gene6 FTP Server v3 − Manuel 3 − Options du log Pour garder une trace de l'activité de vos Administrateurs, vous pouvez activer le log. Log : Log activé : active, désactive le log. Chemin : chemin pour stocker le fichier log. Syntaxe : définir la syntaxe à utiliser comme patron pour le log, vous pouvez utiliser les Tags. Cache du Log : Cache activé : active, désactive le cache : pour les serveurs à fort trafic, le cache diminue la charge de travail du disque dur en écrivant seulement lorsque c'est nécessaire ou lorsque le cache expire (il n'y a aucune raison de désactiver le cache) Taille limite : tous les x Koctets, le log sera purgé et écrit sur le disque (par défaut 64Ko). Temps limite : toutes les x secondes, le log sera purgé et écrit sur le disque, qu'il soit rempli ou non (par défaut 60s). (sur un serveur avec beaucoup de trafic, augmenter la Taille limite et le Temps limite allégera l'utilisation disque mais augmentera l'utilisation mémoire) Chapitre IV − Administration 12 Gene6 FTP Server v3 − Manuel 4 − IP d'écoute Fixer l'IP et le port pour l'Administration, vous permet de changer le port par défaut (8021) mais aussi de choisir l'IP à utiliser pour l'administration. C'est utile pour restreindre l'accès à l'administration au réseau local ou localhost seulement. Cliquer sur Ajouter (bouton +) pour ajouter une nouvelle IP d'écoute, ou modifier pour éditer les entrées déjà présentes. IP/Masque : l'IP à utiliser (* pour toutes les IP disponibles), si vous voulez fixer l'utilisation de l'Administration aux utilisateurs locaux, spécifiez des IP locales (10.0.*, 192.168.* ... 127.0.0.1). Port : le port d'écoute, par défaut 8021. Chapitre IV − Administration 13 Gene6 FTP Server v3 − Manuel 5 − Accès IP Restreindre l'accès à la partie administration est une chose importante en terme de sécurité. Si vous êtes certain que vos Administrateurs se connectent toujours de la même IP (ou domaine) pour administrer G6FTP Server, c'est une bonne idée d'ajouter cette IP à la liste, ainsi seulement cette IP pourra accéder au compte Administrateur (vous pouvez spécifier un nom de domaine : +*.gene6.net). Définir une restriction basée sur l'IP vous permet d'accorder ou de refuser l'accès aux utilisateurs. Chapitre IV − Administration 14 Gene6 FTP Server v3 − Manuel Par exemple : +*.gene6.net (règle seule) permet à toute personne se connectant en provenance de gene6.net de se connecter, si l'IP/Hote ne correspond pas, l'accès sera refusé. −*.gene6.net (règle seule) permet à tout le monde de se connecter, exceptés ceux venant de gene6.net. Vous pouvez aussi utiliser des caractères joker *,?,[x−y] dans les masques : [192−193].16?.[0−10].*, *.net?.nerim.fr sont valides. Notes: • Pour que le serveur résolve les noms de domaine entrés dans la liste à l'exécution, entourez les de parenthéses : (monftp.dydns.org) • La notation CIDR est supportée : 192.168.0.0/24 (=192.168.0.0−192.168.0.255), 12.23.34.128/29 (12.23.34.128−12.23.34.136) Chapitre IV − Administration 15 Chapitre V − Administrateur 1 − Overview La configuration des comptes Administrateur définit les comptes disponibles ayant le rôle d'Administrateur sur votre serveur. Ceux−ci pourront se connecter à distance pour configurer le serveur si les options le permettent. Chapitre V − Administrateur 16 Gene6 FTP Server v3 − Manuel 2 − Assistant Pour vous aider à créer un nouveau compte Administrateur, l'assistant va vous demander de configurer les options de bases. La première étape est de rentrer le nom et le mot de passe du nouveau compte. Le mot de passe est stocké en MD5, la casse est importante; vous pouvez utiliser le générateur de mot de passe pour créer un mot de passe composé de 8 caractères (lettre et nombre), il est copié vers le presse papiers après génération (vous pouvez donc le récupérer en le collant via Ctrl+V). La seconde étape est de sélectionner le type d'Administrateur que vous voulez créer : − Super administrateur : tous les droits sur le serveur. − Administrateur : droits limités à quelques domaines et en nombre de comptes clients. Après avoir renseigné la configuration de base de l'assistant, la fenêtre de configuration complète s'ouvrira, vous pourrez affiner vos options (vous pouvez désactiver l'ouverture de cette fenêtre dans le client Administrateur / Outils / Options / Ouvrir les propriétés de l'utilisateur après création). Chapitre V − Administrateur 17 Gene6 FTP Server v3 − Manuel 3 − Administrateur Activé : active, désactive le compte Administrateur. Mot de passe : définir le mot de passe du compte (MD5). 4 − Accès IP Pour augmenter la sécurité du compte Administrateur, vous pouvez restreindre l'accès à celui−ci à certaines IP ou domaine. Chapitre V − Administrateur 18 Gene6 FTP Server v3 − Manuel Définir une restriction basée sur l'IP vous permet d'accorder ou de refuser l'accès aux utilisateurs. Par exemple : +*.gene6.net (règle seule) permet à toute personne se connectant en provenance de gene6.net de se connecter, si l'IP/Hote ne correspond pas, l'accès sera refusé. −*.gene6.net (règle seule) permet à tout le monde de se connecter, exceptés ceux venant de gene6.net. Vous pouvez aussi utiliser des caractères joker *,?,[x−y] dans les masques : [192−193].16?.[0−10].*, *.net?.nerim.fr sont valides. Notes: • Pour que le serveur résolve les noms de domaine entrés dans la liste à l'exécution, entourez les de parenthéses : (monftp.dydns.org) • La notation CIDR est supportée : 192.168.0.0/24 (=192.168.0.0−192.168.0.255), 12.23.34.128/29 (12.23.34.128−12.23.34.136) Chapitre V − Administrateur 19 Gene6 FTP Server v3 − Manuel 5 − Droits sur le domaine Vous désirez peut être accorder seulement l'administration à un domaine ou restreindre les options d'un Administrateur; c'est possible. (ce panneau de controle n'apparaitra pas si vous n'êtes pas Super Administrateur) Droits : Super administrateur : peut tout changer. Administrateur : est limité aux domaines spécifiés par le Super Administrateur et ne verra ni la partie Administration ni la partie FTP server dans son client d'administration. Lecture seule : si activé, l'administrateur ne pourra pas modifier la configuration du serveur (aucune interaction avec les utilisateurs connectés etc.). Administrateur Domaines : définit quels domaines ce compte peut administrer (*=tous les domaines) Racine : les comptes utilisateurs créés par cet Administrateur seront limités à ce dossier comme base (pour éviter de partager tout le disque dur), l'Administrateur a aussi le droit d'utiliser le répertoire spécial empty:// (les autres extensions : ftp://, merge://, ramdisk://, etc ... ne sont pas autorisés). Par exemple : si vous fixez la racine à c:\ftproot\, les nouveaux comptes ne peuvent au maximum qu'avoir accès à c:\ftproot\ et ses sous dossiers, pas au dessus. Empty:// est un répertoire virtuel vide et ne donne accès à aucun fichier du disque dur, c'est pourquoi il peut toujours être utilisé. Nombre max. d'utilisateur : le nombre maximum de comptes utilisateurs que cet Administrateur peut créer. Nombre max. de groupes : le nombre maximum de comptes groupes que cet Administrateur peut créer. Chapitre V − Administrateur 20 Chapitre VI − Serveur FTP 1 − Aperçu La page "Serveur FTP" est la place principale des options, elles s'appliquent à tous les domaines. Les configurations telles que Limite de vitesse, Fichiers bannis, Accès IP, Statistiques y sont définies. En cliquant sur chaque catégorie (Serveur FTP, Securité), une page s'affichera qui vous donnera un bref résumé de l'utilité de la sous catégorie. Chapitre VI − Serveur FTP 21 Gene6 FTP Server v3 − Manuel 2 − Options Divers Taille du tampon client : taille du buffer socket d'envoi/réception (défaut 16 Ko) (ne pas changer, sauf si indiqué par le support) Nombre de lignes du log : le nombre de lignes maximum affichées dans le log domain (note : si vous spécifiez une valeur plus grande, un délai peut être perçu lorsque le client reçoit le log). Priorité du service : définit la priorité processeur de l'application (haute, normale, basse). Sockets Taille du tampon de réception : Taille du tampon Winsock d'envoi (SO_SNDBUF) (ne pas changer, sauf si indiqué par le support) Taille du tampon d'envoi : Taille du tampon Winsock de réception (SO_RCVBUF) (ne pas changer, sauf si indiqué par le support) Chapitre VI − Serveur FTP 22 Gene6 FTP Server v3 − Manuel 3 − Fichiers bannis Comme toutes les autres options, cette liste s'appliquera à tous les domaines du serveur. Les fichiers bannis ne peuvent pas être stockés sur le serveur. Vous pouvez spécifier un masque de fichier ou de chemin (?, * sont supportés) : *.jpg, c:\path\images_200?\ Note : − les règles ne s'appliquent pas à la réception de fichiers, seulement à l'envoi. − les règles ne s'appliquent qu'aux noms de fichiers, pas aux dossiers. − les règles s'appliquent aussi lorsqu'un fichier est renommé. Chapitre VI − Serveur FTP 23 Gene6 FTP Server v3 − Manuel 4 − Vitesse de Transfert Vitesse maximum : Vous pouvez définir une limitation de vitesse (en envoi et en réception) pour que tout le serveur (tous les domaines hébergés) ne dépassent pas la bande passante spécifiée. Réception : la vitesse maximum d'envoi du serveur vers l'utilisateur (download). Envoi : la vitesse maximum de réception du serveur pour des données en provenance de l'utilisateur (upload). Chapitre VI − Serveur FTP 24 Gene6 FTP Server v3 − Manuel 5 − Statistiques Authentifications : nombre d'utilisateurs ayant réussi à s'authentifier. Echecs d'authentification : nombre d'utilisateurs n'ayant pas réussi à s'authentifier sur ce compte. Dernière connexion : date de la dernière connexion. Dernier nom d'utilisateur : dernier nom d'utilisateur utilisé (pour les alias). Dernière IP connue : IP du dernier client qui a essayé de s'authentifier. Réceptions des clients en échec/avortés : nombre de réceptions de fichiers non réussis. Fichiers reçus des clients : nombre de fichiers reçues en provenance des clients. Reçus des clients : taille totale des données reçues en provenance des clients. Envois aux clients en échec/avortés : nombre d'envois de fichiers non réussis. Fichiers envoyés aux clients : nombre de fichiers envoyés aux clients. Envoyés aux clients : taille totale des données envoyées aux clients. Vous pouvez copier les stats vers le presse−papier ou les remettre à zéro en utilisant les boutons outils ou le menu contextuel. Chapitre VI − Serveur FTP 25 Gene6 FTP Server v3 − Manuel 6 − Accès IP Les règles d'accès IP seront appliquées à tous les domaines, ce qui signifie qu'elles auront la priorité sur tous les domaines, nul besoin de les ajouter dans chaque domaine. (Si vous définissez une règle de rejet au niveau serveur et une règle autorisant l'accès au niveau domaine, la règle au niveau domaine aura la priorité et donc la connexion sera refusée). Définir une restriction basée sur l'IP vous permet d'accorder ou de refuser l'accès aux utilisateurs. Par exemple : Chapitre VI − Serveur FTP 26 Gene6 FTP Server v3 − Manuel +*.gene6.net (règle seule) permet à toute personne se connectant en provenance de gene6.net de se connecter, si l'IP/Hote ne correspond pas, l'accès sera refusé. −*.gene6.net (règle seule) permet à tout le monde de se connecter, exceptés ceux venant de gene6.net. Vous pouvez aussi utiliser des caractères joker *,?,[x−y] dans les masques : [192−193].16?.[0−10].*, *.net?.nerim.fr sont valides. Notes: • Pour que le serveur résolve les noms de domaine entrés dans la liste à l'exécution, entourez les de parenthéses : (monftp.dydns.org) • La notation CIDR est supportée : 192.168.0.0/24 (=192.168.0.0−192.168.0.255), 12.23.34.128/29 (12.23.34.128−12.23.34.136) Chapitre VI − Serveur FTP 27 Chapitre VII − Serveur FTP info 1 − Aperçu Ici, vous pouvez consulter l'état et l'aperçu général de vos domaines actifs : création des certificats SSL, license, plugins installés, le log de démarrage, ainsi que la bande passante et le trafic de tous les domaines. 2 − Certificats Les certificats SSL sont utilisés pour crypter les données entre l'utilisateur et le serveur; sans les certificats vous ne pouvez pas utiliser les connexions SSL. Le SSL utilisé dans G6FTP Server est le même que celui que votre navigateur utilise dans le protocole https lorsque vous achetez des logiciels ou des biens en ligne avec votre carte de crédit. (voir : http://developer.netscape.com/tech/security/ssl/howitworks.html) Avec votre souris / bouton droit et sélectionnez "Nouveau certificat" dans la liste des certificats (normalement vide), une nouvelle fenêtre que vous devrez renseigner s'ouvrira. Nom du certificat : le nom du certificat qui apparaitra dans la liste. Date d'expiration : la validité du certificat, après cette période le certificat sera invalide (mais pas détruit). Par exemple : entrez "ftp.domain.com" comme nom et laissez la date d'expiration à la valeur par défaut (fixée à 10 ans dans le futur). Cliquer sur suivant : Une nouvelle page apparaît, vous demandant des informations pour personnaliser le certificat. Ville : le nom de votre ville. (Ex. Paris) Chapitre VII − Serveur FTP info 28 Gene6 FTP Server v3 − Manuel Département : le département (ou la province). (Ex. Picardie, Quebec) Pays : le code du pays. (Ex. US, FR) Nom du serveur : ce peut être le nom de la personne créant le certificat ou le nom de domaine de votre serveur (Ex. ftp.gene6.com) Email : l'adresse e−mail à qui appartient le certificat. Société : le nom de la société ou le nom de la personne (si pas de société). Division : le nom du département au sein de la société. (Ex. Recherche et développement, Comptabilité) Toutes les informations doivent être précisées, sinon le certificat ne sera pas créé. Une fois complété, cliquez sur "Terminer", le certificat sera créé et ajouté à votre liste. Vous pouvez à présent l'utiliser dans les propriétés du domaine / IP d'écoute / SSL. 3 − License La license installée sur le serveur que vous administrez est affichée sur cette page. Elle rapporte le nom de la personne responsable de l'achat, le nombre de licenses acquises (1 par serveur) (voir : http://www.g6ftpserver.com/?page=purchase) 4 − Log Le rapport de démarrage du serveur, si quelque chose ne démarre pas correctement, cela sera reporté dans ce log. Exemple : Gene6 FTP Server v3.0.0 (Build 34) − Copyright (c) 1998−2004 Gene6 SARL Windows NT 5.1 Service Pack 1 1xIntel(R) Celeron(R) CPU 2.20GHz 2191 Mhz Using WinSock 2.0 Accounts storage : 'Inifiles v2.8'. SSL loaded. Version : OpenSSL 0.9.7d 17 Mar 2004 Starting domain 'ftp.us.gene6.com'. Chapitre VII − Serveur FTP info 29 Gene6 FTP Server v3 − Manuel 5 − Plugins Ici sont listés les plugins detectés par le serveur au démarrage. Le détail sur l'utilisation des plugins externes est fourni avec le plugin. 6 − Etat Trois onglets vous sont présentés, ceux−ci rapportent différents éléments d'information. Etat : L'état de votre serveur : nombre d'utilisateurs connectés, vitesse d'envoi/réception, trafic reçu/envoyé, temps d'exécution ... IP : La liste d'IP disponibles sur le serveur G6FTP Server. IP du domaine : Les IP assignées à un domaine ainsi que le port utilisé. (Les IP et les port peuvent être changés dans les propriétés domaines / IP d'écoute). Chapitre VII − Serveur FTP info 30 Chapitre VIII − Domaines 1 − Aperçu La partie "Domaines" est la base de votre serveur et de vos comptes. Définir un domaine est essentiel puisque cela va démarrer un nouveau serveur pour accueillir vos utilisateurs. Par exemple, les options du domaine vous permettent de définir les IP et options pour le SSL. En cliquant sur chaque catégorie (Serveur FTP, Sécurité), une page s'affichera qui vous donnera un bref résumé de l'utilité de la sous catégorie. Chapitre VIII − Domaines 31 Gene6 FTP Server v3 − Manuel 2 − Assistant Pour vous aider à configurer un nouveau domaine, l'assistant va vous demander de configurer les options de bases. La première étape sera de choisir le nom du domaine ainsi que les limites en nombre maximum de clients et de connexions par IP. La seconde étape sera de sélectionner l'IP que le domaine va utiliser (par défaut *, pour toutes les IP) et de spécifier le port à utiliser (21 par défaut) puis choisissez si vous désirez permettre l'utilisation du SSL (implicite/explicite). La troisième étape, si vous activez le SSL, sera de sélectionner le certificat ou d'en créer un. Chapitre VIII − Domaines 32 Gene6 FTP Server v3 − Manuel La quatrième étape, sera de choisir le type de log à créer (log par défaut, log de transfert, rapport de trafic). Dernière étape, si vous désirez créer un compte Anonymous pour ce domaine, sera de cocher la création et de spécifier le dossier racine. Chapitre VIII − Domaines 33 Gene6 FTP Server v3 − Manuel Après avoir renseigné la configuration de base de l'assistant, la fenêtre de configuration complète s'ouvrira, vous pourrez affiner vos options (vous pouvez désactiver l'ouverture de cette fenêtre dans le client Administrateur / Outils / Options / Ouvrir les propriétés du Domaine après création). Chapitre VIII − Domaines 34 Gene6 FTP Server v3 − Manuel 3 − Options Etat du domaine : en ligne, hors ligne, fermé (pour maintenance). Nombre max. de clients : nombre total d'utilisateurs que ce domaine peut accueillir simultanément. Connexions max. par IP : limiter le nombre de connexions maximum par IP. Domaines virtuels : Les domaines virtuels vous permettent d'héberger plusieurs domaines à partir d'une seule interface IP:Port. Les clients s'identifient sur les différents domaines en suffixant leur nom d'utilisateur par le nom du domaine : pour s'identifier sur "gene6.com" en tant que "anonymous", le client devra utiliser "anonymous@gene6.com" en tant que nom d'utilisateur. Activé : active, désactive l'utilisation des domaines virtuels à partir de ce domaine. Liste de domaines : les clients pourront s'identifier sur les domaines dont le nom est coché. Exemple : Considérons qu'un domaine "internet" est déjà configuré et que vous pouvez vous connecter dessus. Créez un nouveau domaine "gene6.com", éditez les propriétés de ce domaine et dans Sécurité > IP d'écoute, retirez toutes les entrées. Editez les propriétés du domaine "internet" et dans la page d'options, activez les domaines virtuels et cochez le domaine "gene6.com". Assurez vous ensuite que le domaine est en ligne. Dans le domaine "gene6.com", créez un compte utilisateur, par exemple "john". Maintenant, connectez vous sur votre serveur en tant que "john@gene6.com", vous devriez voir la connexion dans le log du domain "internet" puis après la commande USER, la connexion sera reportée dans le log de "gene6.com". Si vous vous identifiez en tant que "john", vous recevrez une erreur si le domaine "internet" n'a pas de compte "john". L'avantage des domaines virtuels est que tout est reporté dans des domaines séparés (logs, options, comptes utilisateurs ...) au lieu du domaine principal ce qui vous permet d'attribuer des droits administateur pour chaque domaine même si vous n'avez qu'une seule adresse IP publique. L'inconvénient est que le domaine principale reçoit toutes les connexions initiales et ne reporte l'activité dans les domaines virtuels qu'après l'envoie de la commande USER. Chapitre VIII − Domaines 35 Gene6 FTP Server v3 − Manuel 4 − Authentification Voici la page de configuration des options d'Authentification. L'option d'authentification par défaut utilise les mots de passe du compte utilisateur, si vous n'êtes pas habitué à configurer des options avancées (ou si vous pensez ne pas avoir besoin de cette option, ne changez rien sur cette page). Liste d'authentification : ajouter/modifier une nouvelle méthode d'authentification (voir plus bas). Désactiver l'authentification par défaut : lorsque plusieurs méthodes d'authentification sont définies, vous pouvez désactiver la vérification du mot de passe des comptes utilisateur. Max PASS commande : nombre maximum de séquence USER/PASS. Délai après erreur : imposer un délai après une commande PASS si l'authentification échoue (évite l'utilisation du brute forcing). Rediriger les mauvais login : en cas d'échec d'authentification, ce compte par défaut sera utilisé (par exemple le compte Anonymous). Authentification avancée : Bien que simple à utiliser, la méthode d'authentification par défaut n'est peut être pas suffisante pour votre utilisation, spécialement pour le cas d'un site basé sur une base de données. Pour combler ce vide, les options d'authentification vous permettent de configurer des méthodes additionnelles d'authentification au niveau du domaine. Pour définir une nouvelle méthode d'authentification, cliquez sur le bouton '+', une nouvelle fenêtre s'ouvrira pour que vous définissiez les options. Chapitre VIII − Domaines 36 Gene6 FTP Server v3 − Manuel Nom : nom de la méthode. Préfixe des comptes : le préfixe sera utilisé par le serveur pour trouver le compte correspondant dans la liste si le login/mot de passe valide l'authentification. Méthode : Base de données utilisateurs NT, Base de données via ODBC ... Note : vous devrez peut être changer le compte sous lequel s'exécute le service du serveur FTP, localsystem utilisé par défaut n'a pas tous les droits pour authentifier avec la base de données NT. 1) Base de données utilisateurs NT : Domaine : entrer le nom de domaine NT du compte Windows (laisser à vide pour le domaine local). Impersonnaliser : l'utilisateur authentifié impersonnalisera son compte Windows, les restrictions NTFS et Windows s'appliqueront et les modifications de fichiers seront reportées comme étant réalisées par cet utilisateur. En cas d'authentification réussie avec la base NT, le compte utilisateur correspondant sur le serveur sera : Préfixe des comptes + Type du compte NT (exemple : "NT_" + "User"). Trois types sont retournés pour les comptes NT : "Admin", "PowerUser" et "User". Un exemple en production pour une réglé telle que Nom = "NT", Préfixe = "NT_", Méthode = "Base de données utilisateur NT" : • L'utilisateur envoie le login = "Charlie", le mot de passe = "1a2b3c" • L'authentification NT retournera "NT_admin" à G6FTP Server si "Charlie" est Administrateur, ou "NT_user" s'il est simple utilisateur. • Si l'authentification NT échoue, la méthode suivante est essayée (jusqu'à ce qu'il n'y ait plus de règle à tester, puis la méthode d'authentification par défaut du serveur si 'Désactiver l'authentification par défaut' n'est pas coché). En cas de succès, le compte sera "NT_user", donc il doit exister dans G6FTP Server. (Vous remarquez que seuls 3 comptes doivent exister, à cause de la nature de l'authentification avancée toutes les options du comptes ne peuvent pas être appliquées). Il est conseillé de définir un compte principal avec les droits d'accès basés sur le nom du compte (dans notre cas : '/' lié à 'c:\ftp\$DOM_NAME\$USR_NAME\'). Notes : • Au niveau utilisateur, laissez le type de mot de passe sur (mot de passe stocké en MD5) mais générez un mot de passe aléatoire. • Ne choisissez pas "Authentifier avec la base NT" au niveau utilisateur, ce n'est pas nécessaire (et causera certainement des problèmes avec l'authentification au niveau domaine). Chapitre VIII − Domaines 37 Gene6 FTP Server v3 − Manuel 2) Base de données via ODBC : La base de données via ODBC vous permet d'externaliser la gestion des mots de passe. Un cas typique serait un site web gérant ses utilisateurs avec une base de données où les comptes seraient créés dynamiquement. Chaîne de connexion : la chaîne de connexion ODBC est nécessaire pour accéder à la base de données (des exemples sont prédéfinis dans la liste). Demande : la requête SQL qui retournera le nom du compte (Ex: 'SELECT account FROM ftp_auth WHERE uid=$LOGIN AND password=$PASSWORD' où '$LOGIN' et '$PASSWORD' sont le nom d'utilisateur et le mot de passe soumis, remplacé lorsque la requête est créée). Voici la liste des tags utilisable dans la requête : • $LOGIN : remplacé par le nom utilisateur du client entre simple guillemets (exemple: 'o\'neill') • $PASSWORD : remplacé par le mot de passe du client entre simple guillemets (exemple: 'o\'neill') • $QLOGIN : remplacé par le nom utilisateur du client entre simple guillemets et avec les guillemets doublées (exemple: 'o''neill') • $QPASSWORD : remplacé par le mot de passe du client entre simple guillemets et avec les guillemets doublées (exemple: 'o''neill') • $PASSWORDMD5 : remplacé par le hash MD5 du mot de passe du client (example: '1ed209c3a1d2093e3f48fcafd3c70915') Notes : • Le serveur sql peut demander des paramêtres avec les apostrophes doublées, dans ce cas, utiliser $QLOGIN et $QPASSWORD au lieu de $LOGIN et $PASSWORD • Le driver Mysql ODBC doit être installé, voir : http://www.mysql.com/products/connector/odbc/ • N'oubliez pas de spécificer le pilote utilisé dans le paramètre "Driver={}" de la ligne de connexion • Un tag additionnel est disponible quand l'utilisateur est authentifié par base de données. $DB(nomcolonne) est remplacé par la valeur de la colonne "nomcolonne" retournée par la requête SQL. Notez que la colonne doit être retournée par la requête SQL ou le tag ne retournera rien. Par exemple, vous pouvez utiliser ceci pour les droits d'accès, si la requête est 'SELECT account, repertoire FROM ftp_auth WHERE uid=$LOGIN AND password=$PASSWORD', vous pouvez ajouter un droit d'accès comme celui−ci : / −> c:\$DB(repertoire). Comme l'authentification NT, cela retourne un nom de compte à utiliser. Un exemple concret pour une règle comme Nom = "DB", Préfixe = "DB_", Méthode = "Base de données ODBC" serait une base de données contenant une table : id = "1", uid = "Charlie", password = "1a2b3c", account = "ftp_Charlie" • L'utilisateur envoie le login = "Charlie", le mot de passe = "1a2b3c" • L'authentification DB retournera "DB_ftp_Charlie" à G6FTP Server. • Si l'authentification DB échoue, l'authentification suivante sera essayée (jusqu'à ce qu'il n'y ait plus de règle à tester, puis la méthode d'authentification par défaut du serveur si 'Désactiver l'authentification par défaut' n'est pas coché). Charlie sera loggé sous le compte "DB_ftp_Charlie". 3) Autre : réservé pour une utilisation future. Chapitre VIII − Domaines 38 Gene6 FTP Server v3 − Manuel 5 − Divers Anti−Hammering : Activé : active, désactive l'anti−hammering. Remise à zéro à l'authentification : une authentification réussie remet à zéro le compteur de connexion. Bannir xx minutes si xx connexions en xx secondes : le compteur va surveiller les connexions et les compter, si le nombre de connexions pendant la période donnée est dépassé alors l'IP de l'utilisateur sera bannie. Fichiers : Supprimer vers la corbeille : les fichiers effacés seront placés dans la corbeille, ils pourront être restaurés si besoin (assurez vous d'avoir configuré la corbeille assez large dans les options Windows). Peut supprimer les fichiers en lecture seule : les fichiers en lecture seule peuvent être supprimés (si le droit de supprimer est accordé). Chapitre VIII − Domaines 39 Gene6 FTP Server v3 − Manuel 6 − Options du log Les logs sont un point crucial de votre serveur et de vos domaines, ils vous informent de tout ce qu'il se passe ou de ce qui va mal sur votre serveur FTP. Voici les options disponibles : Log activé : active, désactive le log. Taille max. : le fichier log sera renouvelé (rotation) s'il atteint la limite définie (renommé en .0, .1, .2 ...) Cache activé : active, désactive le cache : pour un serveur à fort trafic, le cache diminue le travail sur le disque dur en écrivant seulement quand le cache est plein ou expiré. Taille limite : tous les x KOctets, le log sera écrit (par défaut 64Koctets). Temps limite : toutes les x secondes, le log sera écrit qu'il soit rempli ou non (par défaut 60s). (sur un serveur à forte charge, augmenter la Taille limite et le Temps limite diminuera la charge de travail du disque dur mais augmentera l'occupation mémoire). Configuration : Nom : le nom du log. Type de log : le log que vous désirez créer (simple, transferts, bande passante, autre) 1) Log simple Le log typique qui rapporte les commandes et réponses entre le client et le serveur. Méthode : permet la rotation du log (simple, journalier, hebdomadaire, mensuel, annuel) Chemin : la location du fichier log, vous pouvez utiliser les tags dans le nom, ex : $DOM_NAME.log Log fichier : sélectionner ce que vous voulez logger : personnalisé, tout, rien, seulement les commandes client/serveur, seulement les commentaires. Log fichier, définir : définition personnalisée du log que vous voulez créer. Log écran : idem que "Log fichier" mais pour être affiché dans le client d'Administration. Log écran, définir : idem que "Log fichier, définir" mais pour être affiché dans le client d'Administration. 2) Transferts Chapitre VIII − Domaines 40 Gene6 FTP Server v3 − Manuel Le log qui rapporte les fichiers transférés, envois et réceptions. Log : ce qu'il faut logger : réceptions, envois, ou réceptions+envois Méthode : permet la rotation du fichier log (simple, journalier, hebdomadaire, mensuel, annuel) Chemin : la location du fichier log, vous pouvez utiliser les tags dans le nom, ex : $DOM_NAME.log 3) Bande passante Afficher l'utilisation réseau pour les 5 dernières minutes : le graphe contiendra les données des 5 dernières minutes pour l'envoi, la réception, minimum, maximum, moyenne. Afficher l'utilisation réseau pour la dernière heure : le graphe contiendra les données de la dernière heure pour l'envoi, la réception, minimum, maximum, moyenne. Afficher l'utilisation réseau pour les dernières 24 heures : le graphe contiendra les données des dernières 24 heures pour l'envoi, la réception, minimum, maximum, moyenne. 4) W3C Log fichier : cocher pour écrire le log dans un fichier. Log écran : idem que "Log fichier" mais pour être affiché dans le client d'Administration. Méthode : permet la rotation du fichier log (simple, journalier, hebdomadaire, mensuel, annuel) Chemin : la location du fichier log, vous pouvez utiliser les tags dans le nom, ex : $DOM_NAME.log 5) Syslog Le syslog permet d'envoyer les informations du log vers un serveur syslog distant. Serveur : l'adresse du serveur vers lequel envoyer les logs par syslog. Port : port par défaut 514. Facility : défaut : 11 FTP Daemon information. Log serveur : cocher pour envoyer le log vers le serveur distant. Log écran : idem que "Log serveur" mais pour être affiché dans le client d'Administration. 6) Autres : réservé pour une utilisation future. Vous pouvez définir plusieurs logs dans G6FTP Server pour mieux reporter les informations du serveur ou pour archiver. Les logs et les rapports sont visibles après création dans Domaines / votredomaine.com / Logs &rapports. Exemple Nous allons maintenant configurer un log simple pour votre domaine. − ouvrez la page de propriétés du Domaine − sélectionnez "Options du log" − cliquez sur Ajouter (bouton +) − entrez un nouveau nom, par exemple "Défaut" − sélectionnez "Simple" pour le Type − dans Méthode, choisissez "Fichier hebdomadaire" (nous voulons une rotation automatique du log) − laissez le chemin par défaut (le fichier sera stocké dans le dossier /logs de votre dossier d'installation) − laissez "Log fichier" et "Log écran" à "Tout". Chapitre VIII − Domaines 41 Gene6 FTP Server v3 − Manuel Voila, vous avez créé un nouveau log qui rapportera toute l'activité du serveur et qui sera renouvelé toutes les semaines, cliquez sur "Ok". De retour dans les "Options du log", cochez "Log activé" pour démarrer le rapport du log, si vous voulez que le fichier soit changé si sa taille atteint une limite; par exemple 5Mo, entrez "5" dans Taille Max (une rotation sera effectuée sur le log : logfile.0, logfile.1 ... en plus de la rotation hebdomadaire) Chapitre VIII − Domaines 42 Gene6 FTP Server v3 − Manuel 7 − Messages Si vous pensez que les messages par défaut sont trop compliqués, vous pouvez les changer ou même les traduire. Cette page d'options vous permet de définir des nouveaux messages pour : • Change directory • Domain closed • File retrieved • File stored • List • Logged in • System • User quit • Welcome message Le message par défaut est affiché lorsque vous éditez un des messages. Vous pouvez aussi utiliser les Tags dans le message. (note : vous n'avez pas à spécifier le code d'état, le serveur formatera le message avant de l'envoyer au client). Note : l'interface ne liste que les messages majeurs, pour changer les messages mineurs éditez le fichier \accounts\settings.ini du domaine et ajoutez une nouvelle entrée dans la partie [Messages] : [Messages] msgUnauthorizedAccess=Access denied. Your ip does not match. msgAccountExpired=Sorry your account has expired please contact admin@domain.com. msgStorOk=Your file has been received, thank you! Vous pouvez changer la totalité des messages : http://www.g6ftpserver.com/manuals/devguide_en/messages.html Chapitre VIII − Domaines 43 Gene6 FTP Server v3 − Manuel 8 − Fichiers bannis Les fichiers bannis ne peuvent pas être stockés sur le serveur. Vous pouvez spécifier un masque de fichier ou de chemin (?, * sont supportés) : *.jpg, c:\path\images_200?\ Note : − les règles ne s'appliquent pas à la réception de fichiers, seulement à l'envoi. − les règles ne s'appliquent qu'aux noms de fichiers, pas aux dossiers. − les règles s'appliquent aussi lorsqu'un fichier est renommé. Chapitre VIII − Domaines 44 Gene6 FTP Server v3 − Manuel 9 − Alias de nom Les alias vous permettent de définir un nom différent (=login) pour le même compte. C'est utile pour les comptes Anonymous qui peuvent s'appeler parfois "ftp" ou "guest", dans ce cas vous pouvez ajouter ces 2 alias (guest, ftp) redirigeant vers le compte Anonymous. Chapitre VIII − Domaines 45 Gene6 FTP Server v3 − Manuel 10 − Vitesse de transfert Divers : Ne pas limiter la vitesse pour les IP locales : lorsque l'utilisateur se connecte à partir du réseau local (lan), la limite de vitesse ne sera pas appliquée. Vitesse maximum : Réception : le serveur n'enverra pas le fichier plus rapidement que cette vitesse. Envoi : le serveur ne recevra pas le fichier plus rapidement que cette vitesse. Mode Z − Niveau de compression : Désactiver le MODE Z pour le réseau local : la compression ne sera pas appliquée pour les connexions locales. Liste : définir le niveau de compression pour les listes (Pas de compression, bas, normal, élevé). Téléchargement : définir le niveau de compression pour les téléchargements (Pas de compression, bas, normal, élevé). MODE Z utilise la librairie de compression zlib pour les transferts de données FTP (liste et fichiers). Les listes, qui sont du texte, peuvent être fortement compressées avec zlib de sorte que cela booste la vitesse et la réactivité du serveur et du client. Les webmasters et les administrateurs de serveur pourront observer un gain en productivité : les transferts de fichiers html, scriptes ou les gros fichiers logs (du texte) n'auront plus besoin d'être zippés avant d'être envoyés par FTP et devraient en général constater un gain de 3−4x en temps de transferts. Par exemple, un fichier log de 60Mo peut être compressé en un flux de 5Mo de données lorsque le MODE Z est activé. En fonction du contenu du fichier, vous constaterez des résultats différents. Gains typiques : − texte : ~15−20% de la taille originale ! − html : ~25−30% de la taille originale ! − media, video, son : ~90−95% de la taille originale Chapitre VIII − Domaines 46 Gene6 FTP Server v3 − Manuel Notes : − les fichiers déjà compressés par Zip, Rar, Ace etc. ne donneront aucun gain de taille. − vous devrez utiliser un client FTP compatible pour utiliser le MODE Z (comme SmartFTP, FTP Voyager ...) Références : Vous pouvez vous référer au site des auteurs de la librairie zlib pour plus d'information : http://www.gzip.org/zlib/ Si vous êtes un développeur de logiciel FTP, nous recommandons de suivre cette implémentation : http://www.g6ftpserver.com/?page=rfc−modez.txt Chapitre VIII − Domaines 47 Gene6 FTP Server v3 − Manuel 11 − Limite de transfert Divers : Ne pas limiter le transfert pour les IP locales : lorsque l'utilisateur se connecte à partir du réseau local (lan), la limite de transfert ne sera pas appliquée. Configuration : Actuel : Moctets transferés. Max : Moctets maximum qui peuvent être transferés. Remise à zéro tous les (heures, jours, semaines, mois) : période de remise à zéro de la limite. En tant que société d'hébergement, vous pourriez être amené à définir un maximum de trafic FTP par mois en utilisant cette option. Chapitre VIII − Domaines 48 Gene6 FTP Server v3 − Manuel 12 − Statistiques Authentifications : nombre d'utilisateurs ayant réussi à s'authentifier. Echecs d'authentification : nombre d'utilisateurs n'ayant pas réussi à s'authentifier sur ce compte. Dernière connexion : date de la dernière connexion. Dernier nom d'utilisateur : dernier nom d'utilisateur utilisé (pour les alias). Dernière IP connue : IP du dernier client qui a essayé de s'authentifier. Réceptions des clients en échec/avortés : nombre de réceptions de fichiers non réussis. Fichiers reçus des clients : nombre de fichiers reçues en provenance des clients. Reçus des clients : taille totale des données reçues en provenance des clients. Envois aux clients en échec/avortés : nombre d'envois de fichiers non réussis. Fichiers envoyés aux clients : nombre de fichiers envoyés aux clients. Envoyés aux clients : taille totale des données envoyées aux clients. Vous pouvez copier les stats vers le presse−papier ou les remettre à zéro en utilisant les boutons outils ou le menu contextuel. Chapitre VIII − Domaines 49 Gene6 FTP Server v3 − Manuel 13 − Evénements Les options d'événements sont utiles pour réagir à une action du serveur. OnClientBanned : le client est banni du serveur. OnClientConnected : un nouveau client s'est connecté. OnClientDisconnected : un client s'est déconnecté. OnClientHammering : un client essaie de forcer l'entrée sur le serveur (hammering). OnClientLoggedIn : un client s'est authentifié avec succès. OnClientLoginFailed : un client n'a pas réussi à s'authentifier. OnClientTimeOut : la connexion inactive d'un client a été déconnectée (time out). OnDomainClosed : un domaine est désactivé. OnDomainOpened : un domaine est activé. OnDomainStarted : un domaine est démarré. OnDomainStopped : un domaine est stoppé. OnDirCreated : un nouveau dossier est créé. OnDirDeleted : un dossier est supprimé. OnDirListed : un dossier est listé. OnEveryDay : est lancé tous les jours (minuit). OnEveryHour : est lancé toutes les heures. OnFileBanned : une tentative d'envoi de fichier banni. OnFileDeleted : un fichier est effacé. OnFileDownloaded : un fichier a été reçu par le client. OnFileRenamed : un fichier est renommé. OnFileUploaded : un fichier a été envoyé sur le serveur. OnFileUploadFailed : un envoi de fichier a échoué. OnIPChanged : une des IP du serveur a changé. OnLogFileRotated : une rotation du fichier log a eu lieu. OnQuotaExceeded : le quota du compte a été dépassé. OnSameIPConnect : une IP déjà connectée essaie de se connecter. OnScriptError : une erreur est survenue dans l'exécution d'un scripte. OnTooManyClient : trop de clients connectés au serveur/domaine. Par exemple, vous voulez déplacer tous les nouveaux fichiers dans un dossier différent, non partagé par FTP. Une solution est de créer une réglé basée sur l'événement OnFileUploaded : − sélectionnez Ajouter (+ dans la barre de boutons) Chapitre VIII − Domaines 50 Gene6 FTP Server v3 − Manuel − sélectionnez OnFileUploaded dans la liste − parcourez les dossiers pour pointer vers le script ou l'application qui déplacera le fichier ou entrez le chemin directement : "c:\temp\movescript.bat $USR_FILE_83" − maintenant créez le script movescript.bat : ouvrez bloc−notes, cliquez sur Menu / Nouveau, entrez "move %1 c:\safeplace\", cliquez sur Menu / Sauvegarder sous, entrez c:\temp\movescript.bat. Chaque fois qu'un fichier sera envoyé sur le serveur, il sera déplacé vers c:\safeplace\ Cette option supporte les Tags. du chapitre "Tags et personnalisation", en fonction de la nature de l'événement, vous ne pourrez peut être pas utiliser tous les tags. 14 − Scriptes Pour plus d'information, voir : Scriptes Chapitre VIII − Domaines 51 Gene6 FTP Server v3 − Manuel 15 − Commandes SITE Cliquer sur Ajouter pour définir une nouvelle commande SITE. Les paramètres possibles sont : $_ : retourne le nombre de paramètres. $0 : retourne tous les paramètres tels quels. $1 : paramètre 1 ... $n : paramètre n Vous pouvez aussi utiliser les Tags généraux : Tags Si vous voulez que le résultat de l'application lancée soit retourné à l'utilisateur, activez "Récupérer la sortie", le serveur s'attend à ce que l'application retourne une réponse formatée avec un code d'état. Il est aussi important de définir un "Temps maximum de fonctionnement" après lequel le serveur considère que la commande prend trop de temps à s'exécuter et donc termine l'application et renvoie une erreur au client. Chapitre VIII − Domaines 52 Gene6 FTP Server v3 − Manuel 16 − Sécurité Bloquer les IP bannies : les IP bannies (via Accès IP ou le ban temporaire) ne recevront pas de message lorsqu'elles essaient de se connecter, elles sont juste ignorées. Changer l'IP de la connexion data en fonction de l'IP source : en fonction de la location du client (lan ou wan) le serveur choisira quel chemin (lan ou wan) pour la connexion donnée. Utilisé dans la réponse à la commande PASV. Rediriger l'IP passive seulement pour les connexions sécurisées : si vous utilisez un routeur qui change automatiquement l'IP dans la réponse PASV, il sera incapable de faire la même chose lors d'une connexion sécurisée. Vous devrez donc configurer votre IP passive avec votre IP publique et cochez cette case pour n'appliquer le changement qu'en cas de connexion sécurisée. Résoudre les IP (DNS) : l'IP sera résolue (213.215.47.130 = ns0.gene6.net) Répartir les transferts sur toutes les IP : les transferts de données seront démarrés sur différentes IP lorsque c'est possible pour répartir la charge. Chapitre VIII − Domaines 53 Gene6 FTP Server v3 − Manuel 17 − IP d'écoute La page importante du domaine. Pour lancer un domaine, vous devez sélectionner une IP, un port et le protocole, cliquez sur le bouton Ajouter. L'IP peut être * (toutes les IP disponibles, le plus simple si vous n'avez qu'un domaine) ou une IP de la liste. Note importante : si vous utilisez un routeur, il est inutile de forcer l'entrée de votre IP publique si elle n'est pas présente dans la liste car elle n'est pas assignée à votre machine mais à votre routeur, le serveur peut seulement voir les IP assignées à votre machine (voir Tutoriels pour configurer votre serveur derrière un routeur). Le port par défaut est 21 tcp (le port par défaut pour le FTP) mais vous pouvez aussi en choisir un autre (1021, 2156, 65021 ...) Un domaine peut utiliser plusieurs IP différentes, plusieurs ports ainsi que plusieurs protocole, ajoutez simplement de nouvelles entrées dans la liste. Sécurité est l'endroit où vous choisissez le protocole : Session FTP classique seulement : le protocole FTP normal, RFC−959 et compris par tous les clients FTP. Session FTP classique, permet le SSL explicite : en plus du FTP normal, le SSL peut être utilisé pour rendre la connexion sécurisée. Le client peut demander au serveur de passer en SSL si nécessaire. SSL implicite : la différence avec le mode précédent est que le client ne peut communiquer que via SSL, tout sera encrypté. SSL explicite : seulement le SSL explicite est disponible, pas de FTP normal. Dès que le client aura reçu le message du serveur (220 Gene6 FTP Server v3.0.0 (Build 34) ready...) il enverra la commande AUTH demandant l'encryption de toutes les données suivantes, le login et le mot de passe seront ainsi encryptés de même. Recommandé : *, 21, Session FTP classique, permet le SSL explicite. Mode passif (PASV) : Désactiver le mode PASV : bien que ce ne soit pas une bonne idée, vous voudrez peut être désactiver le mode passif. IP PASV : lorsque le serveur est derrière un routeur, l'IP annoncée dans le mode passif n'est peut être pas la bonne IP publique. Cette option vous permet de spécifier quelle IP retourner dans les paramêtres du mode passif. Si vous entrez un nom de domaine, celui−ci sera résolu à l'exécution. Ports passif : derrière un routeur, cette option vous permet de ne rediriger qu'un intervalle de ports. Chapitre VIII − Domaines 54 Gene6 FTP Server v3 − Manuel Mode data connexion : Autoriser la commande PORT avec un port < 1024 : comme les ports < 1024 peuvent héberger des services comme le pop3, smtp, http ... restreindre les ports data à des ports non réservés évitera la connexion accidentelle sur ces ports (ce qui peut être utilisé pour scanner un autre serveur) Chapitre VIII − Domaines 55 Gene6 FTP Server v3 − Manuel 18 − Accès IP Définir une restriction basée sur l'IP vous permet d'accorder ou de refuser l'accès aux utilisateurs. Par exemple : +*.gene6.net (règle seule) permet à toute personne se connectant en provenance de gene6.net de se connecter, si l'IP/Hote ne correspond pas, l'accès sera refusé. −*.gene6.net (règle seule) permet à tout le monde de se connecter, exceptés ceux venant de gene6.net. Vous pouvez aussi utiliser des caractères joker *,?,[x−y] dans les masques : [192−193].16?.[0−10].*, *.net?.nerim.fr sont valides. Notes: • Pour que le serveur résolve les noms de domaine entrés dans la liste à l'exécution, entourez les de parenthéses : (monftp.dydns.org) • La notation CIDR est supportée : 192.168.0.0/24 (=192.168.0.0−192.168.0.255), 12.23.34.128/29 (12.23.34.128−12.23.34.136) Chapitre VIII − Domaines 56 Gene6 FTP Server v3 − Manuel 19 − SSL Le SSL, Secure Socket Layer, est l'encryption utilisée dans G6FTP Server pour crypter vos données. Pour utiliser le SSL, vous devez d'abord définir un certificat auto signé. En utilisant le standard SSL pour le transfert des données vous avez la garantie que vos données ne peuvent être lues par un tiers pendant le transfert. (voir : http://developer.netscape.com/tech/security/ssl/howitworks.html) Vous devez utiliser un client FTP supportant le SSL pour bénéficier d'une connexion sécurisée entre le client et le serveur. Certificats : Certificat : sélectionner le certificat que vous aurez créé dans la page de gestion des certificats. Chapitre VIII − Domaines 57 Chapitre IX − Domaine info 1 − Aperçu La partie Domaine / Information rapporte les données telle que l'Activité sur le serveur, où vous pouvez vérifier qui est connecté et ce qu'ils font; c'est aussi l'endroit où vous pouvez Ajouter / Supprimer des Bannissements temporaires et où vous pouvez observer le trafic général de votre serveur et de vos domaines. 2 − Activité Les utilisateurs connectés et leur actions dans le domaine sont reportés sur cette page. Les informations disponibles sont : ID, Utilisateur, IP, Dossier, Dernière commande, Connecté depuis, Vitesse. Avec le bouton droit de votre souris, vous pourrez copier l'IP/hostname vers le presse papiers, voir ou cacher les clients inactifs/transferant, les grouper par IP/dernière commande/nom d'utilisateur. Cela vous permettra de mieux percevoir l'activité du serveur : − grouper par IP : pour voir qui se connecte avec un outil de téléchargement (mass downloader, download accelerator ...). − grouper par dernière commande : pour voir quel fichier est le plus téléchargé. − grouper par nom d'utilisateur : pour voir l'activité par compte. Voir un log : permet de splitter la fenêtre activité en deux et d'afficher un log ou un rapport dans la partie inférieure. 3 − Log Les logs au niveau domaine rapportent les commandes et les réponses échangées entre le serveur FTP et l'utilisateur sur le domaine. Vous pouvez les créer au niveau de la configuration du Domaine / Logs &rapports voir : Domaines 4 − Bans temporaires Les IP listées dans cette page sont actuellement interdites de connexion sur le domaine. Pour définir un nouveau ban, avec votre souris, click droit et sélectionner Ajout d'un ban. Après l'expiration de la période de quarantaine, le ban sera supprimé automatiquement de la liste . Chapitre IX − Domaine info 58 Gene6 FTP Server v3 − Manuel 5 − Trafic Ce graphique peut rapporter le trafic du domaine durant les 5 dernières minutes, la dernière heure et les 24 heures passées. Vous pouvez les configurer au niveau du Domaine / Logs &rapports voir : Domaines En utilisant votre souris, vous pouvez zoomer et avec votre bouton droit sauvegarder le graphique affiché. Chapitre IX − Domaine info 59 Chapitre X − Interface Compte Utilisateur 1 − Compte utilisateur Afin que votre serveur soit accessible par vos utilisateurs, vous devez créer des comptes pour qu'ils puissent accéder à vos fichiers. Dans le domaine : cliquez sur le dossier Utilisateurs, avec votre souris / bouton droit, sélectionnez 'Nouveau', une nouvelle fenêtre apparaît vous demandant le nom du nouveau compte. Vous pouvez avoir un nombre illimité de comptes utilisateurs. En cliquant sur chaque catégorie (Groupes, Personnaliser, Sécurité) vous pourrez lire un bref résumé sur l'utilité de la sous catégorie. Chapitre X − Interface Compte Utilisateur 60 Gene6 FTP Server v3 − Manuel 2 − Assistant Pour vous aider à créer un nouveau compte Utilisateur, l'assistant va vous demander de configurer les options de bases. La première étape est de rentrer le nom et le mot de passe du nouveau compte. Le mot de passe est stocké en MD5, la casse est importante; vous pouvez utiliser le générateur de mot de passe pour créer un mot de passe composé de 8 charactères (lettre et nombre), il est copié vers le presse papiers après génération (vous pouvez donc le récupérer en le collant via Ctrl+V). La seconde étape est de sélectionner le répertoire racine du compte, il s'agit du répertoire dans lequel l'utilisateur sera placé après s'être loggé. (les droit d'accès par défaut sont Lire, Lister fichiers, Lister répertoires, Sous−dossiers) Après avoir renseigné la configuration de base de l'assistant, la fenêtre de configuration complète s'ouvrira, vous pourrez affiner vos options (vous pouvez désactiver l'ouverture de cette fenêtre dans le client Administrateur / Outils / Options / Ouvrir les propriétés de l'utilisateur après création). Chapitre X − Interface Compte Utilisateur 61 Gene6 FTP Server v3 − Manuel 3 − Options La première page d'options contient les configurations de base vous permettant d'activer/désactiver le compte et de choisir le type de mot de passe. Activé : active/désactive le compte. Connexion SSL uniquement : le compte ne sera accessible que pour les clients connectés en SSL, les connexions non sécurisées seront refusées. Expire le : le compte sera valide jusqu'à la date d'expiration. Groupes : assigner un utilisateur à un groupe permet plus de flexibilité dans la configuration du compte. Type : Accepter une adresse email, Authentifier avec la base NT, OTP S/KEY MD5, Mot de passe simple, Mot de passe stocké en MD5. Mot de passe : le password à utiliser avec le nom d'utilisateur. Suivant le type de mot de passe, les mots de passe seront acceptés et stockés différemment : − Accepter une adresse email : les mots de passe acceptés seront de la forme : utilisateur@domaine.com − Authentifier avec la base NT : les mots de passe seront vérifiés par rapport à la base de données NT du serveur. − OTP S/KEY MD5 : One Time Password, le mot de passe fourni par l'utilisateur devrait être calculé à partir d'une clef retournée par le serveur lors de l'authentification pour que chaque mot de passe envoyé sur le réseau soit différent. Un client FTP compatible est requis (voir http://www.ietf.org/rfc/rfc1938.txt). − Mot de passe simple : le mot de passe est stocké en clair sur le serveur. − Mot de passe stocké en MD5 : le mot de passe est stocké en MD5 sur le serveur. Le client s'authentifie comme pour un mot de passe simple. Dans le cas d'une authentification avec la base NT : Impersonnaliser : l'utilisateur connecté impersonnalisera et héritera des restrictions et limitations du compte Windows correspondant à son nom d'utilisateur. 4 − Droits d'accès La partie la plus importante du compte, les répertoires et les fichiers auxquels l'utilisateur pourra accéder et télécharger. Voir : Système de Fichiers Virtuel Chapitre X − Interface Compte Utilisateur 62 Gene6 FTP Server v3 − Manuel 5 − Options diverses Cette page vous permet de configurer des options variées; du message de bienvenue au nombre maximum de connectés. Divers : Peut changer sont mot de passe : permet à l'utilisateur de changer son mot de passe avec la commande "SITE PSWD ancient_passe nouveau_passe" Cacher les fichiers cachés (invisible dans l'explorer) : les fichiers et les répertoires dotés de l'attribut caché ne seront pas affichés aux utilisateurs dans les listes. Log activé : si coché, l'activité de ce compte sera rapporté dans les logs du serveur. Temps d'inactivité : si activé, les utilisateurs seront déconnectés s'ils ne font rien pendant cette durée. Durée d'une session : si activé, les utilisateurs seront déconnectés après cette durée de connexion. Connexion : Nombre max. de connectés : permet de limiter le nombre d'utilisateurs connectés simultanément avec ce compte, illimité par défaut. Outrepasser la limite du domaine : si coché, l'option "Nombre max. de connectés" du domaine sera remplacée par celle du compte utilisateur. Cette option permet à l'utilisateur de se connecter même si le nombre maximum d'utilisateurs du domaine est atteint. Connexions max. par IP : permet de limiter le nombre d'utilisateurs ayant la même IP connectés simultanément avec ce compte, illimité par défaut. Outrepasser la limite du domaine : si coché, l'option "Connexions max. par IP" du domaine sera remplacée par celle du compte utilisateur. Messages : Changement de dossier : le contenu du fichier sera envoyé après chaque changement de dossier par l'utilisateur. (peut être un nom de fichier sans le chemin d'accès pour utiliser le répertoire courant de l'utilisateur) Bienvenue : le contenu du fichier sera envoyé après le message de bienvenue (Welcome message) du domaine. Chapitre X − Interface Compte Utilisateur 63 Gene6 FTP Server v3 − Manuel 6 − Avancé Cette page vous permet de limiter les options passées aux commandes LIST, restreindre la taille des fichiers envoyés et d'accepter ou refuser les transferts de serveur à serveur. Avancé : Commandes désactivées : entrez les commandes séparées par des virgules que vous souhaitez désactiver. Par exemple, il peut être utile de désactiver les commandes XCRC et XMD5 pour un compte anonymous. (voir : Documents pour une liste des commandes FTP supportées) Options exclues (LIST) : permet de restreindre les paramêtres des commandes LIST &NLST. Les paramêtres supportés sont : a, A, B, c, i, k, p, Q, r, s, S, t, T, u, U, X (voir plus bas pour les details). Chapitre X − Interface Compte Utilisateur 64 Gene6 FTP Server v3 − Manuel Taille max. d'un fichier envoyé : les utilisateurs ne pourront pas envoyer des fichiers dont la taille dépasse cette valeur. FXP, de serveur à serveur : Autoriser la réception de serveur à serveur : permet au serveur de recevoir des données d'une IP différente de celle du client connecté. Autoriser l'envoi de serveur à serveur : permet au serveur d'envoyer des données vers une IP différente de celle du client connecté. Chapitre X − Interface Compte Utilisateur 65 Gene6 FTP Server v3 − Manuel 7 − Fichiers bannis Les fichiers bannis ne peuvent pas être stockés sur le serveur. Vous pouvez spécifier un masque de fichier ou de chemin (?, * sont supportés) : *.jpg, c:\path\images_200?\ Note : − les règles ne s'appliquent pas à la réception de fichiers, seulement à l'envoi. − les règles ne s'appliquent qu'aux noms de fichiers, pas aux dossiers. − les règles s'appliquent aussi lorsqu'un fichier est renommé. Chapitre X − Interface Compte Utilisateur 66 Gene6 FTP Server v3 − Manuel 8 − Fichiers libres Les fichiers libres sont des fichiers téléchargeables sans prendre en compte le ratio (vous pouvez laisser cette liste vide si vous n'utilisez pas de ratio de téléchargement). Vous pouvez utiliser des masques de fichier (?, * sont supportés) : *.jpg, c:\path\images_200?\ Chapitre X − Interface Compte Utilisateur 67 Gene6 FTP Server v3 − Manuel 9 − Quota, ratio Hérités des BBS, les ratios sont implémentés pour donner quand vous recevez. Par exemple, si vous souhaitez qu'un utilisateur obtienne 1 octet de réception pour chaque octet envoyé, le ratio doit être de 1/1; 1 octet d'envoi pour 2 octet de réception donne un ratio de 1/2. S'ils envoient un fichier de 100 octets à un ratio de 1/2, ils auront 200 octets de crédit mais seulement 50 octets si le ratio est de 2/1. Pour l'envoi : Crédit = Crédit + ratio réception / Ratio envoi * taille du fichier Pour la réception : Crédit = Crédit − taille du fichier Compter les octets par session / Compter les fichiers par session : le crédit est seulement valide pour la durée de la connexion et n'est pas partagé entre les utilisateurs connectés avec ce compte. Compter les octets pour toutes les sessions / Compter les fichiers pour toutes les sessions : le crédit est sauvegardé après la déconnexion, ainsi l'utilisateur retrouvera le crédit qu'il avait la dernière fois avant de se déconnecter du serveur. Quota : cette option vous permet de configurer l'espace maximum utilisable pour chaque utilisateur. Tout comme les ratios, les quotas sont calculés pendant l'envoi. Un utilisateur ne peut pas envoyer de fichier si sont quota est complêtement utilisé => il doit d'abord supprimer quelques fichiers. Si le quota de l'utilisateur est à zéro et qu'il supprime un fichier, celui−ci restera à zéro. Calculer le quota à la connexion : si coché, le serveur recalculera l'utilisation du quota en parcourant tous les répertoires de l'utilisateur (cette opération peut prendre plus ou moins de temps suivant le nombre de fichiers et la complexité du système de fichier). Chapitre X − Interface Compte Utilisateur 68 Gene6 FTP Server v3 − Manuel 10 − Vitesse de transfert Au fur et à mesure que le nombre de connexions haut−débit augmente, quelques utilisateurs peuvent facilement saturer votre bande passante totale. Pour contrer ça, vous pouvez définir la limitation de vitesse maximum mais aussi la limitation de vitesse minimum. Vitesse maximum par session : chaque connexion de ce compte aura la même limite (tous les utilisateurs auront la même limitation de vitesse appliquée). Vitesse maximum pour ce compte : la limite sera appliquée à tous les utilisateurs de ce compte (si vous avez n utilisateurs connectés sur ce compte, la vitesse = (vitesse max)/n). Un bon exemple pour cette option est de limiter la vitesse maximum du compte anonymous. Vitesse minimum : les utilisateurs dont la vitesse de transfert est en dessous de cette limite seront déconnectés et bannis pour la durée spécifiée. Toutes ces limitations peuvent être combinées : la vitesse maximum par session limitera tout d'abord chaque connexion et la vitesse maximum du compte limitera la vitesse cumulée de tous les utilisateurs. Exemples : Problème : Pour un compte anonymous qui peut être utilisé par beaucoup d'utilisateurs, vous voulez restreindre l'utilisation globale de la bande passante par ce compte à 25 KB/s. Solution : Définissez la vitesse maximum pour ce compte à 25 KB/s, et laissez les autres limitations à la valeur par défaut. Problème : Un de vos utilisateurs utilise un outil de téléchargement qui établit plusieurs connexions afin de récupérer un fichier à partir d'un même compte. Solution : Définissez la vitesse maximum pour ce compte à la valeur requise, laissez les autres limitations à la valeur par défaut, l'outil de téléchargement sera limité. Problème : Vous avez un compte anonymous et vous voulez que tout le monde ait une part de la bande passante. Solution : Définissez la vitesse maximum par session à 25 KB/s, laissez les autres limitations à la valeur par défaut. (additionnellement, vous pouvez configurer les connexions max. par IP à 2). Problème : Vous avez limité votre domaine à 10 connexions mais un utilisateur a des problèmes réseau et transfére très lentement, occupant une place. Solution : Définissez une vitesse minimum de 5 KB/s, laissez les autres limitations à la valeur par défaut. Si l'utilisateur descend en dessous de cette limite, il sera déconnecté et banni pour une durée que vous pouvez définir. Chapitre X − Interface Compte Utilisateur 69 Gene6 FTP Server v3 − Manuel Chapitre X − Interface Compte Utilisateur 70 Gene6 FTP Server v3 − Manuel 11 − Limite de transfert Cette page vous permet de configurer une sorte de quota de transfert. Il peut être configuré en envoi et/ou en réception par jour, par semaine ou par mois. Configuration : Actuel : Moctets transferés. Max : Moctets maximum qui peuvent être transferés. Remise à zéro tous les (heures, jours, semaines, mois) : période de remise à zéro de la limite. En tant que société d'hébergement, vous pourriez être amené à définir un maximum de trafic FTP par mois en utilisant cette option. Chapitre X − Interface Compte Utilisateur 71 Gene6 FTP Server v3 − Manuel 12 − Accès horaires Cette partie vous permet de définir des restrictions sur les horaires de connexion au compte. Vous pouvez définir la restriction globalement ou pour chaque jour indépendamment. Activé : active/désactive la restriction. Utiliser les mêmes horaires chaque jour : définit si la restriction s'applique globalement ou s'il faut définir les horaires pour chaque jour. Chapitre X − Interface Compte Utilisateur 72 Gene6 FTP Server v3 − Manuel 13 − Notes Permet de laisser quelques informations comme le nom, l'adresse, la ville, l'email et plus. Ces informations peuvent être utilisés via les Tags dans des scriptes ou des événements. Chapitre X − Interface Compte Utilisateur 73 Gene6 FTP Server v3 − Manuel 14 − Statistiques Rapporte des informations sur l'utilisation du compte. Authentifications : nombre d'utilisateurs ayant réussi à s'authentifier. Echecs d'authentification : nombre d'utilisateurs n'ayant pas réussi à s'authentifier sur ce compte. Dernière connexion : date de la dernière connexion. Dernier nom d'utilisateur : dernier nom d'utilisateur utilisé (pour les alias). Dernière IP connue : IP du dernier client qui a essayé de s'authentifier. Réceptions des clients en échec/avortés : nombre de réceptions de fichiers non réussis. Fichiers reçus des clients : nombre de fichiers reçues en provenance des clients. Reçus des clients : taille totale des données reçues en provenance des clients. Envois aux clients en échec/avortés : nombre d'envois de fichiers non réussis. Fichiers envoyés aux clients : nombre de fichiers envoyés aux clients. Envoyés aux clients : taille totale des données envoyées aux clients. Vous pouvez copier les stats vers le presse−papier ou les remettre à zéro en utilisant les boutons outils ou le menu contextuel. Chapitre X − Interface Compte Utilisateur 74 Gene6 FTP Server v3 − Manuel 15 − Scriptes Permet de sélectionner les scriptes à exécuter pour ce compte. Pour plus d'information, voir : Scripts Chapitre X − Interface Compte Utilisateur 75 Gene6 FTP Server v3 − Manuel 16 − Commandes SITE Cliquer sur Ajouter pour définir une nouvelle commande SITE. Les paramètres possibles sont : $_ : retourne le nombre de paramètres. $0 : retourne tous les paramètres tels quels. $1 : paramètre 1 ... $n : paramètre n Vous pouvez aussi utiliser les Tags généraux : Tags Si vous voulez que le résultat de l'application lancée soit retourné à l'utilisateur, activez "Récupérer la sortie", le serveur Chapitre X − Interface Compte Utilisateur 76 Gene6 FTP Server v3 − Manuel s'attend à ce que l'application retourne une réponse formatée avec un code d'état. Il est aussi important de définir un "Temps maximum de fonctionnement" après lequel le serveur considère que la commande prend trop de temps à s'exécuter et donc termine l'application et renvoie une erreur au client. Chapitre X − Interface Compte Utilisateur 77 Gene6 FTP Server v3 − Manuel 17 − Accès IP Définir une restriction basée sur l'IP vous permet d'accorder ou de refuser l'accès aux utilisateurs. Par exemple : +*.gene6.net (règle seule) permet à toute personne se connectant en provenance de gene6.net de se connecter, si l'IP/Hote ne correspond pas, l'accès sera refusé. −*.gene6.net (règle seule) permet à tout le monde de se connecter, exceptés ceux venant de gene6.net. Vous pouvez aussi utiliser des caractères joker *,?,[x−y] dans les masques : [192−193].16?.[0−10].*, *.net?.nerim.fr sont valides. Notes: • Pour que le serveur résolve les noms de domaine entrés dans la liste à l'exécution, entourez les de parenthéses : (monftp.dydns.org) • La notation CIDR est supportée : 192.168.0.0/24 (=192.168.0.0−192.168.0.255), 12.23.34.128/29 (12.23.34.128−12.23.34.136) (N'oubliez pas que les accès IP configurés au niveau serveur et domaine sont prioritaires sur les accès IP du compte) Chapitre X − Interface Compte Utilisateur 78 Gene6 FTP Server v3 − Manuel 18 − Classe d'utilisateur Une classe d'utilisateur est un compte spécial qui applique sa configuration aux membres de cette classe, ceci permet à l'administrateur de spécifier des options globales pour tous les membres de cette classe. Contrairement à un groupe, un utilisateur ne peut être membre que d'une seule classe ce qui permet de configurer plus d'options. Une classe d'utilisateur gardera la plupart des options d'un utilisateur normal (les statistiques seront inutilisées et donc ne seront pas visibles quand vous éditerez les options d'une classe) et sera utilisée comme parent pour les utilisateurs. Vous serez ensuite capable de rattacher des comptes utilisateurs à cette classe. Les comptes rattachés à une classe utiliseront la plupart des options de la classe et auront moins d'options configurables (par exemple, dans quota/ratio, vous ne pourrez configurer que les crédits et l'utilisation actuelle du quota). Si vous désactivez la classe alors tous les comptes rattachés à cette classe seront désactivés. Si la classe est activée alors vous pourrez désactiver les comptes rattachés à cette classe un par un. Si vous définissez un mot de passe pour la classe, tous les utilisateurs rattachés à cette classe utiliseront le même mot de passe. Si aucun mot de passe n'est défini, vous pouvez en spécifier un pour chaque utilisateur de la classe (pareil pour la date d'expiration du compte). Voici une liste des options que vous ne pourrez pas configurer pour les comptes rattachés à une classe (les options utilisées seront celles de la classe) : − Toutes les options dans Divers, Avancé, Vitesse de transfert, Accès horaires, et Scriptes − Les groupes seront les même que dans la classe − Dans Quota/ratio, vous ne pourrez que configurer les crédits et l'utilisation actuelle du quota si les quota/ratios sont activés dans la classe. Les clients ne peuvent pas se connecter avec un nom de classe. La création d'une classe est similaire à la création d'un compte utilisateur (voir au dessus). Pour rattacher un compte à une classe, selectionnez−le, avec la souris/bouton droit, selectionnez "Rattacher à" puis le nom de la classe. Chapitre X − Interface Compte Utilisateur 79 Gene6 FTP Server v3 − Manuel Chapitre X − Interface Compte Utilisateur 80 Chapitre XI − Interface Compte Groupe 1 − Compte groupe Si vous voulez que plusieurs utilisateurs aient les mêmes droits d'accès sur le serveur, c'est une bonne idée de configurer des comptes groupes pour rassembler les utilisateurs plutot que de définir les mêmes options dans chaque compte utilisateur séparément. C'est une méthode pratique pour gérer de nombreux utilisateurs et droits d'accès sans trop d'administration. Note : − vous ne pouvez pas vous connecter sous un compte groupe directement, il faut se connecter sous un compte utilisateur qui est membre de ce groupe. Vous pouvez avoir un nombre illimité de groupes. − un utilisateur peut faire parti de plusieurs groupes. Création : Dans le domaine, cliquez sur le dossier 'Groupes', avec votre souris / bouton droit, sélectionnez 'Nouveau', une nouvelle fenêtre apparaît vous demandant le nom du nouveau compte. En cliquant sur chaque catégorie (Groupes, Personnaliser, Securité) vous pourrez lire un bref résumé sur l'utilité de la sous catégorie. 2 − Droits d'Accès Les droits d'accès sont assignés à tous les utilisateurs du groupe lorsqu'ils se connectent, mais il est toujours possible de définir des accès spéciaux au niveau utilisateur. Les droits d'accès appliqués sont : droits au niveau utilisateur + droits au niveau groupe. Note : − les droits d'accès au niveau compte utilisateur ont priorité sur le compte groupe − si le compte utilisateur a des droits d'accès redéfinis, ces droits auront priorité sur ceux du groupe) Voir : VFS (Fichiers Virtuels) Chapitre XI − Interface Compte Groupe 81 Gene6 FTP Server v3 − Manuel 3 − Fichiers libres Voir compte utilisateur / fichiers libres. La liste des fichiers libres du groupe sera ajoutée à celle de l'utilisateur. 4 − Fichiers bannis Voir compte utilisateur / fichiers bannis. La liste des fichiers bannis du groupe sera ajoutée à celle de l'utilisateur. 5 − Notes Ici vous pouvez laisser des informations pour le groupe. 6 − Scriptes Voir compte utilisateur / scriptes. La liste des scriptes activés du groupe sera ajoutée à celle de l'utilisateur. (les mêmes scriptes sont disponibles pour les utilisateurs et les groupes) 7 − Commandes SITE Voir compte utilisateur / commandes SITE. Les commandes SITE du groupe seront ajoutées à celles de l'utilisateur (si 2 commandes SITE ont le même nom, alors la commande SITE du compte utilisateur aura priorité sur celle du groupe et la remplacera) 8 − Accès IP Voir compte utilisateur / accès IP. La liste des règles d'accès IP sera ajoutée à celle de l'utilisateur. (si l'IP/Domaine est le même pour 2 règles, alors la règle du compte utilisateur aura priorité sur celle du groupe) Chapitre XI − Interface Compte Groupe 82 Chapitre XII − VFS (Fichiers Virtuels) 1 − Fonctionnement Le système de fichiers virtuel vous permet d'associer un chemin virtuel à un répertoire sur le disque dur. Cela vous permet de partager des fichiers et des dossiers via les comptes utilisateurs. 2 − Ressources disponibles Système de fichiers local : c:\.. (Windows File System) Fusion : merge:// (fusion de plusieurs dossiers en un seul) Mémoire : Ramdisk:// (disque mémoire) Ressources distantes via FTP : ftp:// login:password@ip/ (serveur FTP), ftps:// (SSL implicite), ftpse:// (SSL explicite) Vide : Empty:// (crée un répertoire virtuel vide, utile comme base pour d'autres répertoire virtuels dans le dossier d'accueil) Vous pouvez aussi utiliser les chemins UNC (\\computer\chemin\) pour monter le répertoire dans un compte utilisateur. (Note : le compte NT Local System (compte utilisé par défaut par le logiciel) n'a pas d'accès au réseau ou au lecteur réseau, donc vous devrez créer ou utiliser un nouveau compte Windows qui aura accès au réseau.) Note à propos de "merge://" : − vous pouvez fusionner autant de dossiers que vous voulez − si le chemin contient des virgules, entourez le de guillemets : "c:\ftproot\files, datas\" − les fichiers et sous dossiers doublons ne seront affichés qu'une seule fois − les sous dossiers doublons sont aussi fusionnés − les droits d'accès s'appliquent à tous les dossiers fusionnés − les envois de fichiers ou les créations de dossiers seront toujours effectués dans le premier dossier physique de la liste de fusion. − lors d'une suppression, le serveur va parcourir chaque dossier jusqu'à trouver le fichier; si il y a des doublons, le fichier ne sera effacé qu'une fois, ce qui signifie qu'il pourra toujours être présent dans la liste (si c'est un doublon). Chapitre XII − VFS (Fichiers Virtuels) 83 Gene6 FTP Server v3 − Manuel 3 − Droits d'accès Fichier : − Lire : l'utilisateur peut lire des fichiers du serveur. − Ecrire : l'utilisateur peut écrire des fichiers du serveur. − Supprimer : l'utilisateur peut supprimer des fichiers du serveur. − Ajouter : l'utilisateur peut continuer un transfert commencé sur le serveur. Dossier : − Lister fichiers : l'utilisateur peut voir la liste des fichiers du serveur. − Lister dossiers : l'utilisateur peut voir la liste des dossiers du serveur. − Make : l'utilisateur peut créer des dossiers sur le serveur. − Remove : l'utilisateur peut supprimer des dossiers du serveur. − Sous−dossiers : l'utilisateur peut parcourir les sous répertoires. − Hide : l'utilisateur ne pourra pas voir ce dossier. − Secure : la connexion de l'utilisateur devra être sécurisée pour accéder aux fichiers du répertoire. − Deny : l'utilisateur n'aura pas accès à ce dossier. − All : donne, enlève tous les droits. Exemples 1) Vous voulez créer un compte anonyme sur votre serveur. Dans les droits d'accès vous spécifiez : Chemin virtuel : / Chemin réel : c:\ftproot\anonymous\ Droits d'accès : Lire, Lister fichiers, Lister dossiers, Sous−dossiers. Une solution plus évoluée : Chemin virtuel : / Chemin réel : empty:// Droits d'accès : Lister fichiers, Lister dossiers, Sous−dossiers (empty:// contiendra seulement les chemins virtuels) Puis : Chemin virtuel : /public Chemin réel : c:\ftproot\anonymous\ Droits d'accès : Lire, Lister fichiers, Lister dossiers, Sous−dossiers. 2) comment donner à tous vos utilisateurs un dossier pour écrire et un droit de lecture général. a) Créer un dossier racine pour chaque compte Chemin virtuel : / Chemin réel : empty:// Droits d'accès : Lire, Lister dossiers, Lister fichiers, Sous−dossiers b) Configurer le dossier en lecture Chemin virtuel : /download Chemin réel : c:\ftp\download Droits d'accès : Lire, Lister dossiers, Lister fichiers, Sous−dossiers c) Définir le dossier pour l'écriture Chemin virtuel : /upload Chemin réel : c:\ftp\upload\$USR_ACCOUNT\ Droits d'accès : Lire, Ecrire, Supprimer, Lister dossiers, Lister fichiers, Créer, Supprimer, Sous−dossiers (ne pas oublier de créer le dossier c:\ftp\upload\$USR_ACCOUNT\, à l'exécution $USR_ACCOUNT est remplacé par le nom du compte). d) (optionnel) Rendre le dossier accessible pour les autres comptes Chapitre XII − VFS (Fichiers Virtuels) 84 Gene6 FTP Server v3 − Manuel Chemin virtuel : /Lire/others Chemin réel : c:\ftp\upload\ Droits d'accès : Lire, Lister dossiers, Lister fichiers, Sous−dossiers 3) Fusionner plusieurs dossier en un seul (utile lorsque l'espace disque est limité) Chemin virtuel : / Chemin réel : merge://"c:\images\buildings\","d:\images\houses\","e:\images\flowers\" Droits d'accès : Lire, Lister dossiers, Lister fichiers, Sous−dossiers 4 − Additionnel Tags Lorsque vous définissez des droits d'accès, vous pouvez aussi utilisez les tags (voir : Tags) pour monter dynamiquement un répertoire suivant le nom du compte par exemple (les tags sont utilisables dans les chemins virtuels et réels). Vous pouvez créer : "c:\ftp\$DOM_NAME\$USR_ACCOUNT\" monté dans "/" avec les bons droits d'accès. Lorsque vous vous connecterez, le serveur cherchera votre dossier racine dans c:\ftp\ftp.gene6.com\anonymous\ (si vous utilisez le compte "anonymous" sur le domaine "ftp.gene6.com"). Les variations sont possibles, par exemple : "c:\ftp\$USR_GROUP\" monté dans "/$USR_GROUP" pour accèder aux fichiers partagés dans le groupe. Montage spécial Bouger des fichiers dans les répertoires du serveur peut rendre les liens sur vos sites invalides, les utilisateurs ne pourront pas accèder aux fichier jusqu'à ce que les liens soient mis à jour. Pour résoudre ce problème, vous pourrez créer un montage au niveau fichier (comme une redirection en http). Par exemple : − vous distribuez un fichier setup suivant le numéro de version "setup_v1.0.0.exe" dans "c:\ftproot\www.yoursite.com\files\" − une nouvelle version est disponible, le fichier est nommé "setup_v2.0.0.exe", tous les sites qui ont des liens vers votre fichier devront mettre à jour leur lien (ce qui n'est jamais instantanné ...) En attendant, la solution est de créer un lien : Chemin virtuel : /files/setup_v1.0.0.exe Chemin réel : c:\ftproot\www.yoursite.com\files\setup_v2.0.0.exe Droits d'accès : les mêmes que le dossier original. Lorsque l'utilisateur demande "setup_v1.0.0.exe", bien que le fichier n'existe plus, le contenu de "setup_v2.0.0.exe" est envoyé à la place (le fichier sera toujours nommé "setup_v1.0.0.exe" coté utilisateur, il n'est pas possible de rediriger le client comme en http). Cela fonctionne aussi si vous bougez le fichier dans un autre dossier : Chemin virtuel : /old_location/setup.exe Chemin réel : c:\ftproot\www.yoursite.com\new_location\setup.exe Droits d'accès : les mêmes que le dossier original. Le fichier sera toujours disponible et listé dans le dossier virtuel /old_location/ mais il ne sera physiquement présent que dans \new_location\. Chapitre XII − VFS (Fichiers Virtuels) 85 Chapitre XIII − Scriptes 1 − Fonctionnement Les scriptes peuvent être utilisés pour réagir aux événements et à des commandes du serveur FTP. Les langages scripte supportés sont le VBScript et le JScript. Pour être utilisable, les scriptes doivent être situés dans /scripts/ 2 − Ressources disponibles Voici la liste des fonctions qui sont appelées par le serveur. OnSiteXXXXX où XXXXX est votre commande SITE en lettres minuscules. Cette commande est appelée quand un utilisateur envoie une commande SITE (ex: "SITE BLA test test2" appelera la fonction OnSitebla("test test2")). Note : SITE command est en minuscule pour les langages qui font la différence entre minuscule/majuscule comme le JScript; VBScript ne fait pas la différence : SITE TEST lancera OnSitetest, et non OnSiteTEST en JScript. Les fonctions suivantes sont appelées sans paramêtre : OnClientAuthenticated : un client vient d'envoyer un identifiant et mot de passe valide OnClientConnected : un client vient de se connecter au domaine OnClientDisconnected : un client s'est déconnecté d'un domaine OnClientBanned : un client a essayé de se connecter mais est banni du domaine OnClientHammering : un client a martelé le serveur et a été banni et déconnecté OnSameIPConnect : un client a été déconnecté car trop de clients avec la même IP sont déjà connectés OnTooManyClient : un client a été déconnecté car trop de clients sont déjà connectés OnClientTimeOut : un client était inactif et a été déconnecté OnClientLoggedIn : un client vient de s'authentifier OnDomainClosed : un domaine vient de fermer OnDomainOpened : un domaine vient d'ouvrir : le domaine accepte les connexions OnDomainStarted : un domaine a été créé OnDomainStopped : un domaine a été supprimé OnEvery05Minutes : appelé toutes les 5 minutes, fonctionne seulement pour les scriptes du domaine OnEveryDay : appelé chaque jour, fonctionne seulement pour les scriptes du domaine OnEveryHour : appelé chaque heure, fonctionne seulement pour les scriptes du domaine OnDirCreated : un client a créé un répertoire OnDirDeleted : un client a supprimé un répertoire OnDirListed : un client a listé un répertoire OnFileBanned : un client a essayé d'uploader un fichier banni OnFileDeleted : un client a supprimé un fichier OnFileDownloaded : un client a fini de télécharger un fichier OnFileRenamed : un client a renommé un fichier/répertoire OnFileUploaded : un client a fini d'uploader un fichier OnFileUploadFailed : un client a arrêté l'upload ou une erreur socket est intervenue pendant l'upload de fichier OnIPChanged : les IP d'écoute du domaine ont changés OnQuotaExceeded : le client a dépassé sa limite de quota La fonction suivante est appelée avec un paramêtre : OnScriptError(error) : une erreur est survenue dans un scripte, le paramêtre étant la description de l'erreur Note: Chaque client possède une instance du scripte. Ansi 2 scriptes peuvent s'exécuter en même temps et un fichier peut être bloqué par un autre scripte qui l'utilise. Les objets disponibles dans les scriptes en tant que constante globale sont : :−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Object Script Chapitre XIII − Scriptes 86 Gene6 FTP Server v3 − Manuel string FileName : Retourne le chemin du fichier scripte boolean IsDomainContext : Retourne si le scripte tourne dans le contexte d'un domaine. Dans ce cas, l'objet Client n'est pas disponible. int Timeout : Lit et assigne la valeur du timeout du scripte, le timeout est remis à zéro lorsqu'une nouvelle valeur est assignée, 0 désactive le timeout void Include(String scriptPath) : Charge et inclut le script void Sleep(int MSec) : Met le script en pause pendant MSec millisecondes :−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Object Tools string CRCFile(String path) : Calcule et retourne le CRC du fichier passé en paramêtre string CRCStr(String str) : Calcule et retourne le CRC de la chaine passée en paramêtre string FormatSize(int size) : Retourne la taille "size" formatée suivant sa valeur avec comme suffixe : TBytes, GBytes, MBytes, KBytes ou Bytes string FormatSize(int size, int FormatStyle, boolean LongForm, int NumDigitsAfterDecimal) : Retourne la taille "size" formatée suivant FormatStyle (1 pour convertir en Bytes, 2 en KBytes, 3 en MBytes ...), LongForm (forme longue ou courte : KBytes ou KB) et NumDigitsAfterDecimal (le nombre de chiffres affichés après la virgule). string MD5File(String path) : Calcule et retourne le hash MD5 du fichier passé en paramêtre string MD5Str(String str) : Calcule et retourne le hash MD5 de la chaine passée en paramêtre string SHA1File(String path) : Calcule et retourne le hash SHA1 du fichier passé en paramêtre string SHA1Str(String str) : Calcule et retourne le hash SHA1 de la chaine passée en paramêtre :−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Object Server string CertificatePath : Retourne le chemin où les certificats sont stockés par défaut string LogPath : Retourne le chemin où les logs sont stockés par défaut string ScriptPath : Retourne le chemin où les scriptes sont stockés string ServerPath : Retourne le chemin de l'application :−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Object Domain int Bandwidth : Retourne l'utilisation de la bande passante actuelle en octets/seconde int Bandwidth_in : Retourne l'utilisation de la bande passante actuelle en envoi en octets/seconde int Bandwidth_out : Retourne l'utilisation de la bande passante actuelle en réception en octets/seconde int ClientCount : Retourne le nombre de clients connectés au domaine int UserCount : Retourne le nombre de clients authentifiés sur le domaine int DownloadCount : Retourne le nombre de réceptions de fichier en cours int UploadCount : Retourne le nombre d'envois de fichier en cours string Name : Retourne le nom du domain date StartTime : Retourne la date/heure à laquelle le domaine a été créé void WriteLog(String log) : Si le log est activé, écrit le paramêtre dans le log :−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Object Client string AccountName : Retourne le nom de compte du client, celui−ci peut différer de Username si un alias a été utilisé comme nom d'utilisateur date ConnectionDateTime : Retourne la date/heure de connexion string HostName : Retourne le nom d'hôte du client (si l'option ResolveIP est activée) string ID : Retourne l'identifiant unique du client string PeerIP : Retourne l'adresse IP distante du client int PeerPort : Retourne le port distant du client string LocalIP : Retourne l'adresse IP locale du client int LocalPort : Retourne le port local du client string Keyword : Retourne la commande actuelle string Directory : Retourne le répertoire virtuel actuel du client string DirectoryReal : Retourne le répertoire actuel du client Chapitre XIII − Scriptes 87 Gene6 FTP Server v3 − Manuel int Downloaded : Retourne le nombre d'octets envoyés au client int Uploaded : Retourne le nombre d'octets reçu du client boolean Logged : Retourne true si le client est authentifié int RestartPos : Retourne la position de reprise du transfert string Username : Retourne le nom d'utilisateur du client string Filename : Retourne le nom de fichier virtuel (ex: "/temp/fichier.txt") string FilenameReal : Retourne le nom de fichier (ex: "C:\temp\fichier.txt") int FileSize : Retourne la taille du dernier fichier transféré int FilePosition int Speed : Retourne la vitesse moyenne du client sur les 5 dernières secondes en octets/second int Speed_In : Retourne la vitesse moyenne du client en envoi sur les 5 dernières secondes en octets/second int Speed_Out : Retourne la vitesse moyenne du client en réception sur les 5 dernières secondes en octets/second int TransferTimeSeconds : Retourne le temps de transfert en secondes string TransferTime : Retourne le temps de transfert formaté "00:00:01" int TransferSpeedBps : Retourne la vitesse de transfert en octets/seconde string TransferSpeed : Retourne la vitesse de transfert formaté en KBytes/s : "128 KBytes/s" boolean IsSecure : Retourne si la connexion de contrôle est sécurisée boolean IsTransferSecure : Retourne si la connexion de données est sécurisée void ConvertToReal(string path) : Convertit un chemin virtuel (ex: /temp) en chemin physique (ex: C:\Temp) void Kick() : Déconnecte le client du serveur void Post(string Message) : Poste un message au client : il sera formaté par le serveur et envoyé avant la prochaine réponse du serveur void Post(string Message, boolean ProcessTags) : Poste un message au client : il sera formaté par le serveur et envoyé avant la prochaine réponse du serveur, si ProcessTags est vrai alors tous les tags dans Message seront remplacés void Post(string Message, boolean ProcessTags, boolean Append) : Poste un message au client : il sera formaté par le serveur et envoyé avant ou après la prochaine réponse du serveur void Send(string Message) : Envoie une ligne au client void Send(int Code, string Message) : Envoie une ligne formatée pour le FTP au client, ex: 200 ok void Send(int Code, string Message, boolean ProcessTags) : Envoie une ligne formatée pour le FTP au client, si ProcessTags est vrai alors tous les tags dans Message seront remplacés 3 − Exemple 'SCRIPT: Log downloads.vbs 'AUTHOR: Gene6 'DATE: 2002/10/04 'DESC: Log chaque téléchargement dans un fichier ' Chaque ligne a la forme "date heure#nom d'utilisateur#chemin fichier virtuel#chemin fichier réel#de#à#temps#vitesse 'Constantes Delimiter = "#" ForAppending = 8 'Construit le chemin strYear = Year(Date) strMonth = Month(Date) ' ajoute le premier 0 si nécessaire pour toujours avoir un nombre à 2 chiffres if (strMonth < 10) Then strMonth = "0" &strMonth end if strDay = Day(Date) ' ajoute le premier 0 si nécessaire pour toujours avoir un nombre à 2 chiffres if (strDay < 10) Then strDay = "0" &strDay end if LogFilename = Server.LogPath &Domain.Name &"−" &strYear &"−" &strMonth &"−" &strDay &"−downloads.log" ' appelé lorsqu'un client a téléchargé un fichier sub OnFileDownloaded() Set fso = CreateObject("Scripting.fileSystemObject") Chapitre XIII − Scriptes 88 Gene6 FTP Server v3 − Manuel ' ouvre le fichier en écriture Set LogObj = fso.OpenTextFile(LogFilename, ForAppending, true) ' construit la ligne Line = FormatDateTime(Now) &Delimiter &Client.Username &Delimiter &Client.Filename &Delimiter & Client.FilenameReal &Delimiter &Client.RestartPos &Delimiter &Client.FilePosition &Delimiter & Client.TransferTime &Delimiter &Client.TransferSpeed LogObj.WriteLine(Line) LogObj.Close end sub 4 − Scriptes avancés Vous pouvez aussi écrire des fonctions qui seront appelées pour réagir à certaines actions des clients avant que celles−ci soient exécutées par le serveur FTP. Par exemple, une fonction qui empêche les clients d'envoyer des fichiers s'ils ne respectent pas un bon format de nom ou bien scanner un fichier à la fin d'un transfert puis ordonner au serveur FTP de le supprimer et changer la réponse à renvoyer au client si ce fichier contient un virus. Un nouvel objet permettant de modifier le comportement du serveur FTP est disponible en tant que constante globale : Object Hook boolean DeleteFile : Permet de supprimer ou non le fichier uploadé par le client. Uniquement effectif dans la fonction HookStoreFinished int Result : Permet de modifier le résultat de l'opération du client void SetReply(int Code, string Message) : Modifie la réponse à renvoyer au client si Hook.Result est différent de 0 Cet objet est utilisable dans les fonctions suivantes : HookChangeDirectory(FileName, FileNameReal) : le client essaye de changer de répertoire Valeurs possibles de Hook.Result : 0 : le changement de répertoire est autorisé 1 : le changement de répertoire est interdit 2 : le répertoire n'a pas pu être trouvé HookDeleteFile(FileName, FileNameReal) : le client essaye de supprimer un fichier Valeurs possibles de Hook.Result : 0 : la suppression de fichier est autorisée 1 : la suppression de fichier est interdite 2 : le fichier n'a pas pu être trouvé 3 : le fichier n'a pas pu être supprimé HookMakeDirectory(FileName, FileNameReal) : le client essaye de créer un répertoire Valeurs possibles de Hook.Result : 0 : la création de répertoire est autorisée 1 : la création de répertoire est interdite 2 : le répertoire n'a pas pu être créé 3 : le répertoire existe déjà HookMove(FileName, FileNameReal, ToFileName, ToFileNameReal) : le client essaye de renommer/déplacer un fichier ou un répertoire Valeurs possibles de Hook.Result : 0 : le déplacement ou renommage est autorisé 1 : le déplacement ou renommage est interdit 2 : le fichier source n'a pas pu être trouvé Note: ToFileName et ToFileNameReal sont vides s'il s'agit de la première étape (RNFR) du déplacement. HookRemoveDirectory(FileName, FileNameReal) : le client essaye de supprimer un répertoire Valeurs possibles de Hook.Result : 0 : la suppression du répertoire est autorisée 1 : la suppression du répertoire est interdite Chapitre XIII − Scriptes 89 Gene6 FTP Server v3 − Manuel 2 : le répertoire n'a pas pu être trouvé 3 : le répertoire n'a pas pu être supprimé HookRetrieve(FileName, FileNameReal) : le client essaye de télécharger un fichier Valeurs possibles de Hook.Result : 0 : le téléchargement est autorisé 1 : le téléchargement est interdit 2 : le fichier n'a pas pu être trouvé 3 : le fichier ne peut pas être téléchargé 4 : le téléchargement n'est autorisé que pour les connexions sécurisées 5 : pas assez de crédit pour le téléchargement sub HookRetrieveFinished(FileName, FileNameReal) : le client a fini de télécharger un fichier Valeurs possibles de Hook.Result : 0 : le transfert s'est bien déroulé 1 : le transfert n'a pas réussi 2 : une erreur disque est survenue pendant le transfert 3 : plus assez de crédit de ratio pour continuer le transfert 4 : le quota est dépassé 5 : la limite de transfert autorisé est dépassée 6 : le transfert était trop lent 7 : le transfert a été stoppé par le serveur FTP (client banni, transfert stoppé par l'administrateur, compte désactivé, ...) 8 : réservé 9 : le téléchargement a été partiel 10 : la connexion a été fermée car le client a été inactif trop longtemps 11 : la négociation de la connexion sécurisée n'a pas réussi HookStore(FileName, FileNameReal) : le client essaye d'uploader un fichier Valeurs possibles de Hook.Result : 0 : l'upload est autorisé 1 : l'upload est interdit 2 : le fichier ne peut pas être uploadé 3 : l'upload n'est autorisé que pour les connexions sécurisées HookStoreFinished(FileName, FileNameReal) : le client a fini d'uploader un fichier Valeurs possibles de Hook.Result : 0 : le transfert s'est bien déroulé 1 : le transfert n'a pas réussi 2 : une erreur disque est survenue pendant le transfert 3 : réservé 4 : le quota est dépassé 5 : la limite de transfert autorisé est dépassée 6 : le transfert était trop lent 7 : le transfert a été stoppé par le serveur FTP (client banni, transfert stoppé par l'administrateur, compte désactivé, ...) 8 : réservé 9 : réservé 10 : la connexion a été fermée car le client a été inactif trop longtemps 11 : la négociation de la connexion sécurisée n'a pas réussi HookTag(Tag) : un tag n'a pas été traité par le serveur Retournez la valeur du tag avec Hook.SetText, vous pouvez récupérer les paramètres avec int Hook.ParamCount() et string Hook.GetParam(int index) Chapitre XIII − Scriptes 90 Gene6 FTP Server v3 − Manuel 5 − Exemple avancé 'SCRIPT: test hooks.vbs 'AUTHOR: Gene6 'DATE: 2004/08/01 'DESC: Simple script to test hooks ' Constants cwdOk = 0 cwdNoRight = 1 cwdNotFound = 2 rmOk = 0 rmNoRight = 1 rmNotfound = 2 rmFailed = 3 mkdOk = 0 mkdNoRight = 1 mkdFailed = 2 mkdAlreadyExists = 3 mvOk = 0 mvNoRight = 1 mvNotfound = 2 mvFailed = 3 orOk = 0 orNoRight = 1 orNotfound = 2 orFailed = 3 orSecureTransferOnly = 4 orNotEnoughCredits = 5 owOk = 0 owNoRight = 1 owFailed = 2 owSecureTransferOnly = 3 tNormal = 0 tFailed = 1 tDiskError = 2 tRatioError = 3 tQuotaExceeded = 4 tTransferLimitReached = 5 tTransferTooSlow = 6 tAborted = 7 tCantOpenDataConnection = 8 tPartial = 9 tSessionTimeOut = 10 tSSLNegotiationFailed = 11 sub HookChangeDirectory(FileName, FileNameReal) Hook.SetReply 550, "No right" Hook.Result = cwdNoRight end sub sub HookDeleteFile(FileName, FileNameReal) Hook.SetReply 550, "No right" Hook.Result = rmNoRight end sub Chapitre XIII − Scriptes 91 Gene6 FTP Server v3 − Manuel sub HookMakeDirectory(FileName, FileNameReal) Hook.SetReply 550, "No right" Hook.Result = mkdNoRight end sub sub HookMove(FileName, FileNameReal, ToFileName, ToFileNameReal) Hook.SetReply 550, "No right" Hook.Result = mvNoRight end sub sub HookRemoveDirectory(FileName, FileNameReal) Hook.SetReply 550, "No right" Hook.Result = rmNoRight end sub sub HookRetrieve(FileName, FileNameReal) if StrComp(Right(FileNameReal, 4), ".zip", 1) < > 0 Then Hook.SetReply 550, "No right, you can only download *.zip files" Hook.Result = orNoRight end if end sub sub HookRetrieveFinished(FileName, FileNameReal) ' place code here to do something when a client transfer stops end sub sub HookStore(FileName, FileNameReal) if StrComp(Right(FileNameReal, 4), ".zip", 1) < > 0 Then Hook.SetReply 550, "No right, you can only upload *.zip files" Hook.Result = owNoRight end if end sub sub HookStoreFinished(FileName, FileNameReal) Set fso = CreateObject("Scripting.fileSystemObject") Set fil = fso.OpenTextFile(FileNameReal, 1, true) if StrComp(fil.Read(2), "PK", 0) < > 0 Then Hook.SetReply 550, "This .zip file is not a true zip file ! It will be deleted." Hook.Result = tFailed Hook.DeleteFile = true end if end sub sub HookTag(Tag) 'this will write the tag in the file c:\tags.txt Set fso = CreateObject("Scripting.fileSystemObject") Set fil = fso.OpenTextFile("c:\tags.txt", 8, true) fil.WriteLine(Tag) fil.Close 'Handle the tag $TEST(param1, param2, ..) if StrComp(Tag, "Test", 1) = 0 Then Params = "" for I = 0 to Hook.ParamCount−1 Params = Params &Hook.GetParam(I) &" " Next Hook.SetText "Hello " &Client.Username &chr(13) &"This is a test tag and it seems to be working," &chr(13) &_ Chapitre XIII − Scriptes 92 Gene6 FTP Server v3 − Manuel Hook.ParamCount &" parameters were passed, here is the list: " &chr(13) &_ Params &chr(13) end if end sub Chapitre XIII − Scriptes 93 Chapitre XIV − Tags et personnalisation 1 − Fonctionnement Les Tags permettent une personnalisation des messages du serveur FTP. Ils sont utiles pour ajouter des informations comme l'état de l'espace disque, le nombre d'utilisateurs connectés etc. 2 − Tags disponibles Préfixe du Tag : $ (Ex. $SYS_CPU) SYS_CPU : type et nombre de processeurs (lu à partir de la base de registre). SYS_CPUNAME : nom du cpu. SYS_CPUNB : nombre de cpu. SYS_CPUMHZ : vitesse du cpu. SYS_OS : version de l'OS. SYS_RAM : mémoire en Octets (formaté). SYS_RAM[BYTE|KB|MB|GB] : mémoire en Octets, Ko, Mo, Go. SYS_FREESPACE[BYTE|KB|MB|GB](chemin) : espace libre dans chemin (e.g. $SYS_FREESPACE(c:) affichera l'espace libre sur c:\) SRV_NAME : nom du serveur. SRV_VERSION : version du logiciel serveur. SRV_UPTIME : temps de fonctionnement du serveur. SRV_CLIENTCOUNT : nombre total de clients connectés. SRV_STATSCONNECTIONS : nombre total de clients qui se sont connectés. SRV_STATSLOGINS : nombre total de clients qui se sont authentifiés. SRV_STATSDOWNLOADED : total reçu par les utilisateurs (formaté). SRV_STATSDOWNLOADED[BYTE|KB|MB|GB] : total reçu par les utilisateurs en Octets, Ko, Mo, Go. SRV_STATSUPLOADED : total envoyé par les utilisateurs (formaté). SRV_STATSUPLOADED[BYTE|KB|MB|GB] : total envoyé par les utilisateurs en Octets, Ko, Mo, Go. SRV_STATSFDOWNLOADED : total des fichiers envoyés aux utilisateurs. SRV_STATSFUPLOADED : total des fichiers reçus des utilisateurs. Domaine DOM_C24H : nombre de clients connectés durant les dernières 24 heures. DOM_NAME : nom du domaine. DOM_CLIENTCOUNT : nombre de clients connectés au domaine. DOM_MAXUSERS : nombre max. d'utilisateur que le domaine peut accepter. DOM_IPS : IP utilisée(s) par le domaine. DOM_WHO : Liste des clients connectés au domaine. DOM_SPEED : vitesse (instantanée) du domaine (formaté) DOM_SPEED[BYTE|KB|MB|GB] : vitesse (instantanée) du domaine en Octets/s, KOctets/s, MOctets/s, GOctets/s DOM_SPEEDIN : vitesse (instantanée) en réception du domaine (formaté) DOM_SPEEDIN[BYTE|KB|MB|GB] : vitesse (instantanée) en réception du domaine en Octets/s, KOctets/s, MOctets/s, Goctets/s DOM_SPEEDOUT : vitesse (instantanée) en envoi du domaine (formaté) DOM_SPEEDOUT[BYTE|KB|MB|GB] : vitesse (instantanée) en envoi du domaine en Octets/s, KOctets/s, MOctets/s, GOctets/s Chapitre XIV − Tags et personnalisation 94 Gene6 FTP Server v3 − Manuel DOM_AVGSPEED : vitesse moyenne (formaté). DOM_AVGSPEED[BYTE|KB|MB|GB] : vitesse moyenne en Octets/s, KOctets/s, MOctets/s, GOctets/s. DOM_DOWNLOADED : envoyé (formaté). DOM_DOWNLOADED[BYTE|KB|MB|GB] : envoyé en Octets, Ko, Mo, Go. DOM_UPLOADED : reçu (formaté). DOM_UPLOADED[BYTE|KB|MB|GB] : reçu en Octets, Ko, Mo, Go. DOM_DOWNLOADS : nombre de fichiers en cours d'envoi aux clients. DOM_UPLOADS : nombre de fichiers en cours de réception des clients. DOM_FDOWNLOADED : nombre de fichiers envoyés aux utilisateurs depuis que le domain a démarré. DOM_FUPLOADED : nombre de fichiers reçus des utilisateurs depuis que le domain a démarré. DOM_STATSCONNECTIONS : nombre total de clients qui se sont connectés. DOM_STATSLOGINS : nombre total de clients qui se sont authentifiés. DOM_STATSDOWNLOADED[BYTE|KB|MB|GB] : total envoyé depuis la création du domaine. DOM_STATSUPLOADED[BYTE|KB|MB|GB] : total reçu depuis la création du domaine. DOM_STATSFDOWNLOADED : total des fichiers envoyés aux utilisateurs depuis la création du domaine. DOM_STATSFUPLOADED : total des fichiers reçus des utilisateurs depuis la création du domaine. DOM_EVENT : retourne l'événement exécuté (onFileUploaded, ...) LOG_OLDFILENAME : ancien nom du fichier log avant la rotation (OnLogRotated). LOG_NEWFILENAME : nouveau nom du fichier log après la rotation (OnLogRotated). Compte USR_ACCOUNT : nom du compte. USR_GROUP : nom du groupe. USR_CLASS : nom de la classe. USR_RATIOCOUNTMETHOD : type de ratio. (par session ...) USR_RATIO : pareil que $USR_RATIOUP:$USR_RATIODOWN mais affiche "Unlimited" si le ratio est désactivé. USR_RATIOUP : ratio en envoi. USR_RATIODOWN : ratio en réception. USR_QUOTACURRENT : quota actuel (formaté). USR_QUOTACURRENT[BYTE|KB|MB|GB] : quota actuel en Octets, Ko, Mo, Go. USR_QUOTAMAX : quota max (formaté). USR_QUOTAMAX[BYTE|KB|MB|GB] : quota max en Octets, Ko, Mo, Go. USR_QUOTAAVAILABLE : quota disponible (formaté). USR_QUOTAAVAILABLE[BYTE|KB|MB|GB] : quota disponible en Octets, Ko, Mo, Go. USR_STATSLOGINS : nombre total de clients qui se sont authentifiés. USR_STATSFUPLOADED : fichiers reçus. USR_STATSUPLOADED : reçu (formaté). USR_STATSUPLOADED[BYTE|KB|MB|GB] : reçu en Octets, Ko, Mo, Go. USR_STATSFDOWNLOADED : fichiers envoyés. USR_STATSDOWNLOADED : envoyé (formaté). USR_STATSDOWNLOADED[BYTE|KB|MB|GB] : envoyé en Octets, Ko, Mo, Go. USR_TIMEOUT : durée d'inactivité max. USR_INAME : info nom. USR_IADDRESS : info adress. USR_ICITY : info ville. USR_ICOMPANY : info société. Chapitre XIV − Tags et personnalisation 95 Gene6 FTP Server v3 − Manuel USR_IPHONEHOME : info téléphone domicile. USR_IPHONEWORK : info téléphone bureau. USR_IFAX : info fax. USR_IEMAIL : info email. USR_INOTES : info notes. Client (si l'utilisateur est connecté alors les Tags du compte sont aussi disponibles) KEYWORD : commande envoyée par le client. USR_FDOWNLOADED : fichiers envoyés durant la sessions. USR_FUPLOADED : files reçus durant la session. USR_ACCOUNT : compte utilisé. USR_NAME : nom envoyé pour le login. USR_PASS : mot de passe utilisé. USR_DIR : dossier courant réel. USR_PWD : dossier courant. USR_FILENAME : nom du fichier en cours de transfert. USR_NTHOMEDIR : dossier d'accueil du compte utilisateur windows. USR_ID : id du client assigné par le serveur. USR_PEERIP : IP de l'utilisateur. USR_PEERIP_000 : IP de l'utilisateur, formaté comme 192.168.000.010 (pour utiliser dans le tri par nom de fichier). USR_PEERPORT : port utilisateur. USR_LOCALIP : IP sur laquelle se connecte l'utilisateur. USR_LOCALPORT : port local sur lequel est connecté l'utilisateur. USR_HOSTNAME : nom de domaine résolu d'après l'IP. USR_TIMEONLINE : durée de connexion. USR_CPU : retourne l'utilisation CPU par le client "secondes.millisecondes", USR_DOWNLOADED : envoyé (formaté). USR_DOWNLOADED[BYTE|KB|MB|GB] : envoyé en Octets, Ko, Mo, Go. USR_UPLOADED : reçu (formaté). USR_UPLOADED[BYTE|KB|MB|GB] : reçu in Octets, Ko, Mo, Go. USR_SPEED : vitesse de l'utilisateur (formaté). USR_SPEED[BYTE|KB|MB|GB] : vitesse de l'utilisateur en Octets/s, KOctets/s, MOctets/s, GOctets/s. USR_AVGSPEED : vitesse moyenne (formaté). USR_AVGSPEED[BYTE|KB|MB|GB] : vitesse moyenne en Octets/s, KOctets/s, MOctets/s, GOctets/s. USR_FREESPACE[BYTE|KB|MB|GB] : espace disque libre dans le dossier en cours en Octets, Ko, Mo, Go. USR_RATIOCREDIT : crédits disponibles en Octets (formaté) ou nombre de fichiers. (les Tags FILE contiennent soit le nom du dossier, soit le nom du fichier pour les événements) USR_FILE : chemin complet du fichier (incluant le nom du fichier). USR_FILE_83 : idem que USR_FILE mais en format 8.3. USR_FILENAME : le nom du fichier (archives.zip, archives.rar ...). USR_FILENAME_83 : idem que FILENAME mais en format 8.3. USR_FILEEXT : l'extension du fichier en majuscule (.EXE, .RAR ...). USR_FILENOEXT : nom du fichier sans extension. USR_FILEPATH : chemin sans la partie nom de fichier (c:\temp\ ...). USR_FILEPATH_83 : idem que FILEPATH mais en format 8.3. USR_FILESIZE : taille du fichier en Octet. (Les tags suivant ne sont disponible que dans l'événement OnFileRenamed) USR_OLDFILE : chemin complet du fichier renommé (incluant le nom du fichier). USR_OLDFILENAME : le nom du fichier renommé (archives.zip, archives.rar ...). USR_OLDFILEPATH : chemin sans la partie nom de fichier du fichier renommé (c:\temp\ ...). Chapitre XIV − Tags et personnalisation 96 Gene6 FTP Server v3 − Manuel Date et heure HH : heure 00−23. NN : minute 00−59. SS : seconde 00−59. D : jour 1−31. DD : jour 01−31. ENGDD : suffixe ordinal anglais pour le jour, 2 lettres (st, nd, rd, ou th) M : mois 1−12 MM : mois 01−12. YY : année 00−99. WEEK : YY−MM−DD cette date a la particularité de ne changer que chaque Dimanche. WEEKR : DD−MM−YY pareil que WEEK mais l'année et le jour sont inversés. DATE : DD/MM/YY TIME : HH:NN:SS NOW : Date + Heure DAY : jour Lundi/Mardi ... (régionale). ENGDAY : jour Monday/Tuesday ... (Anglais). MONTH : mois Janvier/Février ... (régionale). ENGMONTH : mois January/February ... (Anglais). YEAR : année 0−2003 3 − Exemple Bienvenue $USR_ACCOUNT! Je suis $SRV_NAME, $SRV_VERSION, je suis en ligne depuis $SRV_UPTIME. Vous êtes connecté sur le domaine $DOM_NAME, il y a actuellement $DOM_CLIENTCOUNT (/$DOM_MAXUSERS) qui parcourt mes fichiers. Il est actuellement $TIME, la vitesse est de $DOM_SPEED. Chapitre XIV − Tags et personnalisation 97 Chapitre XV − Tutoriels 1 − Importation de comptes (v2.x) Pour importer vos comptes d'une ancienne version (v2.x), vous avez besoin des fichiers users.ini, groups.ini, ftpsrv.ini qui se trouvent dans le répertoire d'installation du logiciel v2.x. Une fois que vous avez placé ces fichiers dans un dossier (par exemple c:\temp\), vous pourrez importer les configurations. Domaine : − Ouvrir l'Administration à distance − Sélectionner le serveur − Aller dans Domaines − Cliquer sur le menu Général / Outils / Importer et choisir Domaine, une nouvelle fenêtre apparaîtra − Parcourir le disque dur vers c:\temp\ et choisir le fichier 'ftpsrv.ini' − Cliquer sur Ouvrir, le nouveau domaine sera créé avec la configuration de l'ancienne version. Comptes utilisateurs : − Ouvrir l'Administration à distance − Sélectionner le serveur − Aller dans Domaines, sélectionner le domaine où importer les comptes et aller dans le dossier Utilisateurs − Cliquer sur le menu Général / Outils / Importer et choisir Utilisateurs, une nouvelle fenêtre apparaîtra − Parourir le disque dur vers c:\temp\ et choisir le fichier 'users.ini' − Cliquer sur Ouvrir, les anciens comptes seront importés avec la configuration de l'ancienne version. Groupes : − Ouvrir l'Administration à distance − Sélectionner le serveur − Aller dans Domaines, sélectionner le domaine où importer les comptes et aller dans le dossier Groupes − Cliquer sur le menu Général / Outils / Importer et choisir Groupes, une nouvelle fenêtre apparaîtra − Parourir le disque dur vers c:\temp\ et choisir le fichier 'groups.ini' − Cliquer sur Ouvrir, les anciens comptes seront importés avec la configuration de l'ancienne version. Note : vous devrez toujours revoir la configuration et les nouveaux comptes après importation, beaucoup de nouvelles options ont été ajoutées et nécessiteront d'être configurées. 2 − Backup des configurations Si vous devez réinstaller ou changer le logiciel de serveur, vous devrez faire un backup (copie de sauvegarde) des comptes et de la configuration. Le mieux est de simplement copier le répertoire d'installation d'un serveur vers l'autre, puis réinstaller par dessus grâce à l'installeur pour recréer les raccourcis, les menus et l'installation en service. Si vous désirez seulement faire une copie de sauvegarde de quelques configurations, voici la marche à suivre : Tous les comptes et les domaines sont sauvegardés dans \Accounts\ Les certificats SSL sont stockés dans \Certificates\ La configuration de l'Administration et ses comptes sont stockés dans \RemoteAdmin\ La configuration des comptes Administration à distance coté client sont stockés dans la base de registre Windows. La clé est : HKEY_CURRENT_USER\Software\Gene6\G6FTPAdmin Pour faire une copie de sauvegarder : − Lancer regedit.exe − Parcourir jusqu'à HKEY_CURRENT_USER\Software\Gene6\G6FTPAdmin − Cliquer sur Menu / Fichiers / Exporter et entrer le nom du fichier de sauvegarde. Pour restaurer cette configuration vous devrez double cliquer sur le fichier .reg. Note : les mots de passe coté client Admin sont encryptés. Si vous changez de machine, vous devrez réentrer les mots de passe après la restauration. Chapitre XV − Tutoriels 98 Gene6 FTP Server v3 − Manuel 3 − Administrer un serveur distant 1) Cliquer sur "Nouveau" dans le client d'Administration ou utiliser les boutons de la barre de menu pour ajouter un nouveau serveur à administrer. 2) Remplir les informations demandées avec les paramètres de configuration du serveur 3) Le nouveau serveur est dans votre liste Chapitre XV − Tutoriels 99 Gene6 FTP Server v3 − Manuel 4 − Configuration avec un routeur Vous devez rediriger les requêtes sur le port 21 tcp (ou le port que vous utilisez) du routeur vers l'IP locale de la machine où le serveur G6FTP s'exécute. N'oubliez pas d'ouvrir les ports 21 tcp (entrant) et 20 tcp (sortant, port général − 1) sur le firewall du routeur (si celui−ci en est pourvu) pour que les utilisateurs puissent se connecter. La plupart du temps le manuel de votre routeur explique comment créer la redirection (voir les mots clés "port mapping, forwarding, virtual server"). Voir http://www.g6ftpserver.com/?page=faq pour des liens concernant la configuration de routeurs de marques répandues. Mode passif : Lorsque votre serveur FTP est derrière un routeur, il ne connaît que les adresse IP locales (10.0.xxx.yyy, 192.168.0.xxx ...) assignées à votre machine. Cela cause un problème lorsque le client est en mode passif (PASV) car le serveur FTP répondra avec son IP interne (celle de la machine); la conséquence est que le client FTP ne pourra pas transférer de données (pas de liste, d'envoi ou de réception). Pour résoudre ce problème : 1) Dans les options du serveur : Domaine / Propriétés / IP d'écoute, configurer "IP Passive", vous pouvez entrer un nom de domaine ou une IP de sorte que le serveur FTP reporte votre IP publique. 2) Entrer un intervalle pour le port passif 50000−50100 dans l'option "Ports passifs". 3) Dans votre routeur (matériel ou logiciel) créer une redirection de port pour l'intervalle 50000−50100 tcp vers la machine ou G6FTP server s'exécute (comme précédemment fait pour le port principal). Chapitre XV − Tutoriels 100 Gene6 FTP Server v3 − Manuel Le port principal ne doit pas être inclus dans l'intervalle de ports passifs. Les ports passifs doivent être choisis dans les ports supérieurs à 1024 (les ports inférieurs sont réservés pour les services connus). G6FTP server utilisera maintenant l'IP publique pour le mode passif de sorte que le routeur puisse rediriger correctement les requêtes de l'extérieur. Administration à distance : Vous devrez rediriger le port utilisé par l'administration à distance vers la machine où s'exécute G6FTP server. (voir ci−dessus, la méthode est la même que pour le port principal). Par défaut, ce port est 8021 tcp (vous pouvez le changer dans Administration / Propriétés / IP d'écoute). 5 − Configuration avec un firewall Ouvrir les ports 21 tcp (entrant) et 20 tcp (sortant, port général − 1), permettre aussi l'intervalle de port passifs, voir sujet "Mode passif". Pour permettre l'Administration à distance, vous devez ouvrir le port 8021 (défaut, entrant), ce port peut être changé dans Administration / Propriétés / IP d'écoute. Voir http://www.g6ftpserver.com/?page=faq pour les liens de configuration de firewall répandus. 6 − SSL sur un domaine 1) Ouvrir local machine (ou le serveur à administrer) / Serveur FTP / Certificats 2) Sur la barre d'outils, cliquer sur l'icone certificat (ou avec votre souris / bouton droit dans la zone de l'administration et sélectionner "Nouveau certificat"). 3) Entrer les informations demandées (voir : Serveur FTP). 4) Dans le domaine que vous avez créé, aller dans Propriétés / Sécurité / IP d'écoute 5) Cliquer sur Ajouter (+), entrer l'IP à utiliser (par exemple : *), le port 21, et le type de service "Session FTP classique, permet le SSL explicite" 6) Cliquer sur Sécurité / SSL, sélectionner le certificat que vous avez crée en 2) Chapitre XV − Tutoriels 101 Chapitre XVI − Documents 1 − RFC RFC−775 : http://www.g6ftpserver.com/files/rfc775.txt RFC−959 : http://www.g6ftpserver.com/files/rfc959.txt RFC−2228 : http://www.g6ftpserver.com/files/rfc2228.txt RFC−2389 : http://www.g6ftpserver.com/files/rfc2389.txt RFC−2428 : http://www.g6ftpserver.com/files/rfc2428.txt RFC−2577 : http://www.g6ftpserver.com/files/rfc2577.txt 2 − Commandes FTP Voici la liste des commandes FTP supportées par Gene6 FTP Server. ABOR Abandonner le transfert en cours. Réponse du serveur : • 226 ABOR command successful. ALLO size Répond positif si le client peut stocker size octets sur le serveur. Réponse du serveur : • 200 ALLO Ok : %d bytes available. • 501 Insufficient disk space : only %d bytes available. • 501 Required size parameter bad or missing. APPE pathname Continuer le transfert du fichier dont le nom est pathname. Réponse du serveur : • 200 Ready to append file "%s" at offset %d. • 501 Bad or missing parameters. • 521 Data connection cannot be opened with this PROT setting. • 550 No port specified. • 550 Cannot APPE. No permission. • 550 Cannot APPE. (file not found or busy) AUTH SSL|TLS−P|TLS|TLS−C [RFC−2228] Etablir une session SSL. Réponse du serveur : • 234 AUTH command ok; starting SSL connection. Chapitre XVI − Documents 102 Gene6 FTP Server v3 − Manuel • 431 AUTH service unavailable. • 431 Bad or missing parameters. • 534 AUTH command is disabled. CCC Rétablit le canal de contrôle en non crypté. Réponse du serveur : • 200 Command okay. CDUP Remonter d'un niveau. Réponse du serveur : • 250 CWD command successful. "%s" is current directory. • 550 CWD failed. "%s" : no such file or directory. • 550 CWD failed. No permission. • 550 CWD failed. %s CLNT clientname Indiquer au serveur le logiciel client utilisé. Réponse du serveur : • 200 Noted. CPSV Commande pour le mode passif et définit la négociation SSL en tant que client pour le prochain transfert. Réponse du serveur : • 227 Entering Passive Mode (xxx,xxx,xxx,xxx,yyy,zzz). • 501 PASV not allowed. • 501 PASV exception: "Please try again later.". CWD pathname Changer le répertoire courant pour pathname. Réponse du serveur : Chapitre XVI − Documents 103 Gene6 FTP Server v3 − Manuel • 250 CWD command successful. "%s" is current directory. • 550 CWD failed. "%s" : no such file or directory. • 550 CWD failed. No permission. • 550 CWD failed. %s DELE pathname Supprimer le fichier pathname. Réponse du serveur : • 250 File "%s" deleted. • 450 File "%s" can't be deleted. • 550 "%s": no such file. • 550 Cannot DELE. No permission. EPRT |net−prt|net−addr|tcp−port| [RFC−2428] (sample : EPRT |1|132.235.1.2|6275|) Spécifier le port data. Réponse du serveur : • 200 Port command successful. • 501 Invalid PORT command. • 501 Bad or missing parameters. • 504 Command not implemented for the specified argument. • 522 Network protocol not supported, use (%s) EPSV net−prt [RFC−2428] Spécifier le port data (en passif). Réponse du serveur : • 229 Entering Extended Passive Mode (%s) • 501 PASV not allowed. • 501 PASV exception: "Please try again later.". • 522 Network protocol not supported, use (%s) FEAT [RFC−2389] Renvoyer la liste des commandes étendues supportées. Réponse du serveur : • 211−Extensions supported: AUTH TLS Chapitre XVI − Documents 104 Gene6 FTP Server v3 − Manuel CCC CLNT CPSV EPRT EPSV MDTM MLST type*;size*;created;modify*; MODE Z PASV PBSZ PROT REST STREAM SIZE SSCN TVFS UTF8 XCRC "filename" SP EP XMD5 "filename" SP EP 211 End. HELP Retourne la liste des commandes supportées. Réponse du serveur : • 214−Supported Commands : (* unimplemented) ABOR FEAT PASS RMD STOU* XMD5 ACCT* HELP PASV RNFR STRU XMKD ALLO LIST PORT RNTO SYST XPWD APPE MDTM PWD SITE TYPE XRMD CDUP MKD QUIT SIZE USER CLNT MODE REIN SMNT* XCRC CWD NLST REST STAT XCUP DELE NOOP RETR STOR XDEL SITE PSWD SITE ZONE 214 End. LIST [sp pathname] Lister un dossier. Réponse du serveur : • 150 Data connection accepted from %s:%d; transfer starting. • 150 Opening data connection for directory list. • 550 No port specified. MDTM [YYYYmmDDhhMMss] pathname Changer/demander les dates de modification du fichier pathname. Réponse du serveur : Chapitre XVI − Documents 105 Gene6 FTP Server v3 − Manuel • 213 %s • 501 Bad or missing parameters. • 550 "%s" : can''t change date/time. No permission. • 550 "%s" : no such file or directory. MKD pathname Créer le dossier pathname. Réponse du serveur : • 257 "%s": directory created. • 501 Bad or missing parameters. • 550 "%s": file or directory already exists. • 550 "%s": can't create directory. • 550 "%s": can't create directory. No permission. MLSD [pathname] Lister un dossier. Réponse du serveur : • 150 Data connection accepted from %s:%d; transfer starting. • 150 Opening data connection for directory list. • 550 No port specified. MLST [pathname] Retourner l'état du fichier. Réponse du serveur : • (example) 250−Begin type=dir;modify=19990930152225; / 250 End. • 550 Permission denied. MODE mode Spécifier le mode. Réponse du serveur : • 200 Mode %s ok. • 501 Bad or missing parameters. • 504 Command not implemented for the specified argument. Chapitre XVI − Documents 106 Gene6 FTP Server v3 − Manuel NLST Lister un dossier. Réponse du serveur : • 150 Data connection accepted from %s:%d; transfer starting. • 150 Opening data connection for directory list. • 550 No port specified. NOOP Commande "Pas d'opération" (NO OPération). Réponse du serveur : • 200 NOOP command successful. OPTS [RFC−2389] Définir les options pour une commande. Réponse du serveur : • 200 %s OPTS %s • 501 Unknown option. • 501 Invalid %s options. PASS password Envoyer le mot de passe. Réponse du serveur : • 230 User %s logged in. • 421 Can't login : invalid Home Directory. • 421 Not logged in, account expired. • 421 Service not available, closing control connection. • 421 Too many users logged for this account. Try again later. • 421 Not logged in, access denied. • 421 No more connection allowed for this IP. • 421 Login or Password incorrect. • 501 Bad or missing parameters. • 503 Login with USER first. PASV Commandes pour le mode passif. Chapitre XVI − Documents 107 Gene6 FTP Server v3 − Manuel Réponse du serveur : • 227 Entering Passive Mode (xxx,xxx,xxx,xxx,yyy,zzz). • 501 PASV not allowed. • 501 PASV exception: "Please try again later.". PBSZ 0 Définir la taille du tampon de protection. Réponse du serveur : • 200 PBSZ=0 • 501 Bad or missing parameters. • 503 Security data exchange not yet completed. PORT host−port (sample : PORT 192,168,0,1,4,0) Spécifier le port data. Réponse du serveur : • 200 Port command successful. • 501 Invalid PORT command. • 501 Bad or missing parameters. • 504 Command not implemented for the specified argument. PROT mode Spécifier le protocole pour le transfert de données. Le mode peut être 'C', 'P', 'S', 'E'. Si le mode est 'P' alors le transfert est privé. Réponse du serveur : • 200 PROT command successful. • 504 Command not implemented for the specified argument. PWD Afficher le dossier courant. Réponse du serveur : • 257 "%s" is current directory. Chapitre XVI − Documents 108 Gene6 FTP Server v3 − Manuel QUIT Terminer la connexion. Réponse du serveur : • 221 Goodbye. REIN Reconnexion, le client doit se déconnecter. Réponse du serveur : • 502 Disconnect first to re−login. REST position Indiquer le redémarrage du transfert à l'offset position. Réponse du serveur : • 200 Restarting at %d. Send STORE or RETRIEVE. • 501 Required byte offset parameter bad or missing. RETR pathname Reçoit le fichier pathname. Réponse du serveur : • 150 Opening data connection for %s (%d bytes). • 501 Bad or missing parameters. • 521 Data connection cannot be opened with this PROT setting. • 550 "%s": No Such File. • 550 Cannot retrieve. • 550 Cannot RETR. Not enough credit. • 550 Cannot RETR. No permission. • 550 No port specified. RMD pathname Supprimer le dossier pathname. Réponse du serveur : • 200 "%s": directory removed. Chapitre XVI − Documents 109 Gene6 FTP Server v3 − Manuel • 501 Bad or missing parameters. • 550 "%s": no such directory. • 550 "%s": can't remove directory. No permission. • 550 "%s": "%s": can't remove directory. %s RNFR pathname Initier un renommage/déplacement de fichier/dossier pathname. Réponse du serveur : • 350 File exists, ready for destination name. • 501 Bad or missing parameters. • 550 Cannot RNFR. No permission. • 550 "%s": no such file or directory. RNTO pathname Indiquer le fichier/dossier destination pathname. Réponse du serveur : • 250 File "%s" renamed to "%s". • 501 Bad or missing parameters. • 503 Bad sequence of commands. • 550 File "%s" can't be renamed. • 550 "%s": no such file or directory. SITE MSG message Envoie un message à l'administrateur. Server replies: • 200 Message sent to administrator. SITE PSWD oldpassword newpassword Changer le mot de passe. Réponse du serveur : • 200 Password change successful. • 501 Password not changed. No permission. • 501 Password not changed. Syntax : SITE PSWD • 501 Password not changed. Old password does not match. SITE ZONE Chapitre XVI − Documents 110 Gene6 FTP Server v3 − Manuel Retourner la zone horaire du serveur. Réponse du serveur : • 200 +−timezone. SIZE pathname Retourner la taille du fichier pathname. Réponse du serveur : • 213 %d. • 501 Bad or missing parameters. • 550 No such file or directory. • 550 Command failed: %s. SMNT pathname Cette commande n'est pas implémentée (non supportée). Réponse du serveur : • 202 SMNT : Command not implemented, superfluous at this site. SSCN ON/OFF Définir la négociation SSL client ou serveur. Server replies: • 200 SSCN: Client method • 200 SSCN: Server method STAT pathname Cette commande demande l'état du serveur. Réponse du serveur : • 211− FTP Server status for : (client ip : client port server ip : server port) Files Downloaded: 0 Downloaded: 0 Bytes Files Uploaded: 0 Chapitre XVI − Documents 111 Gene6 FTP Server v3 − Manuel 211 Uploaded: 0 Bytes STOR pathname Stocker le ficheir pathname. Réponse du serveur : • 150 Opening data connection for %s. • 426 Insufficient Disk Quota. Transfer of "%s" Aborted. • 501 Bad or missing parameters. • 521 Data connection cannot be opened with this PROT setting. • 550 Cannot STOR. %s • 550 Cannot STOR. No permission. • 550 No port specified. STOU Cette commande se comporte comme STOR mis à part que le fichier est créé avec un nom unique. Réponse du serveur : • 502 STOU : Command not yet implemented. STRU structure The argument is a single Telnet character code specifying file structure described in the Section on Data Representation and Storage. The following codes are assigned for structure: F − File (no record structure) R − Record structure P − Page structure La structure par défaut est File. Réponse du serveur : ♦ 200 STRU F ok. ♦ 501 Bad or missing parameters. ♦ 504 Command not implemented for the specified argument. SYST Réponse du serveur : ♦ 215 UNIX Type: L8 TYPE type Chapitre XVI − Documents 112 Gene6 FTP Server v3 − Manuel Réponse du serveur : ♦ 200 Type set to %s. ♦ 501 Bad or missing parameters. ♦ 504 Command not implemented for the specified argument. USER username Réponse du serveur : ♦ 331 Password required for %s. ♦ 421 Too many users connected. Try again later. ♦ 501 Bad or missing parameters. ♦ 501 Disconnect first to re−login. ♦ 501 Please AUTH first. XCRC "filename" SP EP Calculer le CRC32 de filename de SP à EP. SP − Point de départ en octet EP − Point d'arrêt en octet Réponse du serveur : ♦ 250 ♦ 501 Bad or missing parameters. ♦ 504 Command not implemented for the specified argument. XCUP [RFC−775] Remonter d'un niveau. Réponse du serveur : ♦ 250 CWD command successful. "%s" is current directory. ♦ 550 CWD failed. "%s" : no such file or directory. ♦ 550 CWD failed. No permission. ♦ 550 CWD failed. %s XMD5 "filename" SP EP Calculer le MD5 de filename de SP à EP. SP − Point de départ en octet EP − Point d'arrêt en octet Réponse du serveur : ♦ 250 ♦ 501 Bad or missing parameters. ♦ 504 Command not implemented for the specified argument. XMKD pathname [RFC−775] Créer le dossier pathname. Chapitre XVI − Documents 113 Gene6 FTP Server v3 − Manuel Réponse du serveur : ♦ 257 "%s": directory created. ♦ 501 Bad or missing parameters. ♦ 550 "%s": file or directory already exists. ♦ 550 "%s": can't create directory. ♦ 550 "%s": can't create directory. No permission. XPWD [RFC−775] Afficher le dossier courant. Réponse du serveur : ♦ 257 "%s" is current directory. XRMD pathname [RFC−775] Supprimer le dossier pathname. Réponse du serveur : ♦ 200 "%s": directory removed. ♦ 501 Bad or missing parameters. ♦ 550 "%s": no such directory. ♦ 550 "%s": can't remove directory. No permission. ♦ 550 "%s": "%s": can't remove directory. %s 3 − FAQ Voir : http://www.G6FTPServer.com/?page=faq Chapitre XVI − Documents 114