~~SLIDESHOW~~ ====== SI5 - Windows 2003 : Configurer un serveur FTP ====== TP 10 - mardi 10 avril et jeudi 12 avril 2012 === Objectifs === * Découvrir comment configurer un serveur FTP sous Windows 2003 server * Utiliser mode actif ou mode passif ? * Transfert de fichiers de type ASCII ou binaire === Éléments de configuration prérequis === * nous utiliserons le serveur **srv2003PN** et un client XP installés lors des TP précédents * l'adresse IP du serveur est **192.168.0.1**. * les 2 machines sont en **réseau local interne**, le serveur fournissant une IP au client de manière dynamique. Une seconde carte en NAT et qui obtient une IP via DHCP permet un accès à Internet. ====== Installation du service FTP ====== Sous Windows 2003, le service FTP dépend de ''Microsoft Internet Information Services'' (//IIS//). IIS doit donc être installé sur l'ordinateur; **le service FTP n'est pas installé par défaut** lors de l'installation des services IIS. Pour installer ce service FTP, procédez comme suit : * Cliquez sur **Démarrer**, pointez sur **Panneau de configuration**, puis cliquez sur **Ajout/Suppression de programmes**. * Cliquez sur **Ajouter/Supprimer des composants Windows**. * Dans la liste **Composants**, cliquez sur **Services Internet (IIS)** (mais n'activez ni ne désactivez pas cette case), puis cliquez sur **Détails**. * Cliquez pour l'activer sur la case suivante : **Service FTP (File Transfer Protocol)**, puis cliquez sur **OK**. * Cliquez sur **Suivant**. * Lorsqu'un message vous y invite, insérez le CD-ROM Windows Server 2003 dans le lecteur de CD-ROM de l'ordinateur ou indiquez le chemin d'accès aux fichiers, puis validez jusqu'au lancement de l'installation. * Cliquez sur **Terminer**. {{:si5_-_w2003:si5..c11_g1.png|}} Le service FTP est désormais installé. Vous devez configurer le service FTP pour pouvoir l'utiliser. ====== Configuration de l'authentification FTP anonyme ====== Il est possible de configurer un site FTP pour **autoriser l'accès anonyme aux ressources FTP**. Si vous sélectionnez l'authentification FTP anonyme pour une ressource, toutes les requêtes concernant cette ressource sont acceptées sans demander de nom d'utilisateur ni de mot de passe. Cela est possible parce que IIS a crée automatiquement un compte d'utilisateur Windows appelé **IUSR_SRV2003PN** (//où SRV2003PN est le nom de la machine !//). Pour configurer le site FTP pour que seules les connexions anonymes soient autorisées, procédez comme suit : * Démarrez le **gestionnaire de services IIS**. * Développez **SRV2003PN**. * Développez **Sites FTP** * Cliquez avec le bouton droit sur **Site FTP par défaut**, puis cliquez sur **Propriétés**. * Cliquez sur l'onglet **Comptes de sécurité**. * cliquez pour activer la case **Autoriser les connexions anonymes**, puis activez la case à cocher **N'autoriser que les connexions anonymes** : les utilisateurs n'auront pas dans ce cas à indiquer un nom d'utilisateur et un mot de passe à l'ouverture d'une session. * Cliquez sur **Appliquer** puis **OK**. * Quittez le Gestionnaire des services IIS. {{:si5_-_w2003:si5..c11_g2.png|}} Le serveur FTP est désormais configuré pour accepter les demandes FTP entrantes. * Copiez dans le répertoire de base du site FTP les fichiers que vous souhaitez rendre accessibles (par exemple les différents fichiers contenus dans le répertoire c:\inetpub\wwwroot). //Rappel : Le répertoire de base du site FTP est **C:\inetpub\ftproot**//. ====== Vérifions que cela fonctionne correctement ! ====== * Sur le client XP, lancez le navigateur internet **Firefox**, * Indiquez l'adresse URL [[FTP://srv2003PN]] puis validez, * le contenu du répertoire de base apparaît, confirmant le bon fonctionnement du service FTP. Bravo ! ====== Créer un nouveau site FTP ====== Nous venons de vérifier le fonctionnement du site FTP par défaut créé à l'installation du service FTP; nous allons maintenant en créer un autre pour permettre à **Christophe Durand**, utilisateur du groupe **Comptables** avec le compte **CDurand**, de faire des mises à jour du site Intranet qui leur est réservé ... * Démarrez le **gestionnaire de services IIS**, * Développez **SRV2003PN**, * Développez **Sites FTP**, * Cliquez avec le bouton droit sur **Sites FTP**, puis choisissez **Nouveau/Site FTP ...** pour activer l'assistant. * Entrez une description (par exemple : **//FTP Comptables//**), puis **suivant** * Validez l'IP 192.168.0.1 et spécifiez le port 2121, puis cliquez sur **suivant**, {{:si5_-_w2003:si5..c11_g3.png|}} ===== L'isolation ===== **L'isolation d'utilisateur FTP** constitue une solution pour les fournisseurs de services Internet et les fournisseurs de services applicatifs qui doivent offrir à leurs clients des répertoires FTP individuels pour le téléchargement de fichiers et de contenu Web. Elle limite l'accès des utilisateurs à leurs propres répertoires uniquement, de façon à empêcher ceux-ci d'afficher ou d'écraser le contenu Web d'autres utilisateurs. Le répertoire de premier niveau d'un utilisateur apparaît en tant que racine du service FTP, c'est pourquoi il est impossible pour celui-ci de monter plus haut dans l'arborescence. L'utilisateur a toujours la possibilité de créer, modifier ou supprimer des fichiers et des dossiers dans son propre site. L'isolation d'utilisateur FTP est une propriété du site, pas du serveur. Elle peut être activée ou désactivée pour chaque site FTP. IIS offre trois possibilités pour gérer l'affectation du répertoire de base implicite lors de l'ouverture d'une session FTP par un utilisateur. Dans les trois cas, **l'utilisateur ne pourra parcourir que ce répertoire**, ses sous-répertoires réels et virtuels. **Il ne pourra pas remonter dans l'arborescence physique**. - Répertoire de base: La racine du site. - Répertoire de base: Un répertoire particulier sous la racine du site. - Répertoire de base: Le répertoire de base tel que configuré dans Active Directory. Nous choisirons ici la première option: * Cochez la case correspondante et cliquez sur **suivant** * Cliquez sur **parcourir** pour indiquer le chemin du répertoire de base (//E:\Données Comptables\web//) * Cochez l'autorisation **écriture** puis **suivant** et enfin **Terminer** Nous allons interdire l'accès anonyme sur ce site FTP: * Faites un clic droit sur **FTP Comptables**, et choisissez **propriétés** * Dans l'onglet **Comptes de sécurité**, désactivez l'option **Autoriser l'accès anonyme** et confirmez votre choix. * Dans l'onglet **Messages**, tapez **============ FTP EUROMEDIA ============** dans la zone **Bannière** et **Bienvenue sur le site des Comptables !** dans la zone **Bienvenue** puis cliquez sur **Appliquer** et **OK** Votre site est maintenant créé et démarré mais il faut s'assurer que le compte **CDurand** est autorisé à modifier le contenu du répertoire de base. {{:si5_-_w2003:si5..c11_g4.png|}} * Cliquez avec le bouton droit sur **FTP Comptables**, puis choisissez **Autorisations** pour accèder aux autorisations NTFS sur le répertoire de base du site FTP * Ajoutez le compte **CDurand** et activez la case à cocher **Modification** //Attention : le mot de passe de ce compte est **Pass2003**. En cas de doute vous pouvez le réinitialiser en lançant **Démarrer/Outils d'administration/Utilisateurs et ordinateurs Active Directory** puis en faisant un clic droit sur l’icône de Christophe Durand (développer ''Euromedia.local/France/Siege Euromédia France/Comptabilité'') choisir l'option **Réinitialiser le mot de passe**. De même, il peut être utile de vérifier que le compte peut être activé dans l'immédiat en consultant la plage **horaires d'accès...** dans l'onglet **Compte** des **Propriétés** ...// ====== Vérifions que cela fonctionne correctement ! ====== * ouvrez le menu **démarrer/Exécuter...** (ou les touches [Windows] + [R]) et tapez **cmd**. * entrez dans le module FTP en tapant simplement la commande **ftp** puis **validez** * pour vous connecter au serveur FTP, taper la commande **open hote [port]** (où vous remplacerez `hote` par l'adresse de votre serveur FTP distant; le port est un argument facultatif mais ici nous n'utilisons pas le port par défaut) FTP>open srv2003PN 2121 Après l'affichage de la bannière, le serveur FTP vous demande votre nom d'utilisateur du site FTP (**CDurand**), puis le mot de passe associé (**Pass2003**). En cas d'erreur, le serveur ne vous laissera pas faire grand-chose tant qu'il ne vous aura pas identifié comme un réel utilisateur : tapez la commande **user** pour relancer le processus d'identification à nouveau A partir d'ici, vous êtes identifié. Le serveur indique quels droits vous avez et que le répertoire courant est /. Ce répertoire est la racine de votre compte. //Remarque : sous Linux comme sous Windows, le compte ''anonymous'' peut généralement être validé par n'importe quelle chaine de caractères formée comme une adresse mail, c'est à dire incluant le caractère **@** mais notre serveur n'accepte pas les invités anonymes !//. ===== La navigation ===== La commande **pwd** (//Print Working Directory//) vous indique dans quel dossier vous vous trouvez. Pratique, si vous avez perdu votre chemin ... Pour la navigation proprement dite au sein du site FTP, deux commandes vous seront utiles : **dir** (//DIRectory//) et **ls** (//List Segments//) * entrez successivement ces deux commandes et observez la différence Nous allons maintenant créer un répertoire nommé **tests** dans le répertoire de base du site FTP ... * **mkdir** (//MaKe DIRectory//) autorise la création d'un sous-répertoire dans le répertoire courant (si vous avez des droits en écriture sur le serveur !) * **cd** (//Change Directory//) vous permet de vous déplacer dans l'arborescence du site {{:si5_-_w2003:si5..c11_g5.png|}} Il est possible de renommer un fichier ou un répertoire à l'aide de la commande **rename**, de supprimer des données à l'aide des commandes **delete //fichier//** ou **rmdir //dossier//** (//ReMove DIRectory//). Dans le module FTP, on peut donc se balader sur le serveur FTP distant et effectuer toutes sortes d'actions. Durant vos transactions FTP, vous serez sûrement amenés à devoir exécuter certaines de ces mêmes actions localement sur votre disque dur ... Pour cela, on dispose de la commande **lcd** et du point d'exclamation (**!**), indiquant au module que vous exécutez l'action localement. La commande **lcd [dossier]** permet de changer le répertoire local dans lequel vous travaillez. Pour lister le dossier local courant, tapez **!dir** ===== L'envoi et la réception ===== ==== La réception ==== * **get //fichier//** est la commande pour récupérer un fichier unique * **mget //fichier_1 [fichier_2] [fichier_3]... [fichier_n]//** (//Multi GET//) est utilisée en cas de fichiers multiples à transférer. Par défaut, le type de fichier utilisé est **ASCII**. La commande **binary** permet de changer le type pour transférer des fichiers qui ne sont pas des fichiers "texte" sans les corrompre. On peut revenir au type ASCII avec la commande **ascii**. //Attention : Les fichiers transférés avec les commandes get ou mget sont réceptionnés dans le dossier local courant//. ==== L'envoi ==== Comme pour la réception, l'envoi bénéficie de deux fonctions : **put** et **mput** (//Multi PUT//). Leurs syntaxes respectives sont **put //fichier//** et **mput //fichier_1 [fichier_2] [fichier_3] ... [fichier_n]//**. ===== Déconnexion et aide ===== Pour afficher de l'aide sur les commandes ftp utilisable, tapez **?** ou **help** **help //commande//** (où //commande// sera remplacé par une commande FTP) affiche un descriptif de ladite commande. ==== Fermeture de la connexion ==== Il est toujours préférable de fermer la connexion en douceur ... * tapez **close** ==== Quitter le module FTP ==== * Pour quitter le module FTP et revenir à l'invite de commande système, tapez **quit** ====== Application : à vous de jouer ! ====== Sur le poste client XP, lancez une fenêtre ligne de commande puis : * Connectez vous de façon anonyme au site FTP par défaut **SRV2003PN** * Visualisez quel est le nom du répertoire local * Créez un répertoire **test** dans ce répertoire local * Changez le répertoire local pour entrer dans ce répertoire **test** * Visualisez les divers documents présents dans le répertoire de base du site FTP par défaut * Importez tous ces documents dans le répertoire local (test) * Fermez la connexion avec le serveur FTP * Ouvrez une nouvelle connexion avec le compte de Christophe Durand en utilisant le port 2121 pour accéder à l'intranet des comptables * Vérifiez que le mode de transfert actif est A (Ascii) * Passez en mode binaire * Transférez les fichiers locaux vers le site FTP, dans le répertoire test * Vérifiez le résultat