« Le système d'exploitation GNU-Linux/Le serveur de fichiers FTP » : différence entre les versions

Contenu supprimé Contenu ajouté
Aucun résumé des modifications
corrections + mise en page
Ligne 1 :
== Introduction ==
FTP = File Transfert Protocol.
Il utilise les Port 21 et 20.
 
Le protocole FTP (File Transfert Protocol) permet d'échanger des fichiers volumineux. Il utilise le port 21 (canal de contrôle) et le port 20 (canal des données) en protocole TCP.
Il existe plusieurs serveur FTP:
ftpd, proftpd, muddleftpd, pure-ftpd, vsftpd, etc...
 
Il existe plusieurs serveurs FTP : wu-ftpd, proftpd, muddleftpd, pure-ftpd, vsftpd, etc ... chacun se différencie des autres par ses fonctionnalités et sa facilité (ou non) a être configuré.
Pour la démonstration nous avons utilisé proftpd
 
Nous avons choisi Proftpd car il dispose de nombreuses fonctionnalités et sa configuration est très simple car proche de celle d'Apache.
 
Site Internet : [http://www.proftpd.org/ www.proftpd.org].
Pour installer FTP:
#apt-get install proftpd
 
== Installation de Proftpd ==
 
Pour installer Proftpd sous Debian, il suffit de taper la commande suivante :
Le fichier de log:
/var/log/proftpd/xferlog
 
# apt-get install proftpd
 
== Configuration de Proftpd ==
Le fichier de configuration:
/etc/proftpd/proftpd.conf
 
Le fichier de configuration de Proftpd est '''/etc/proftpd/proftpd.conf''' :
 
$ cat /etc/proftpd/proftpd.conf
Dans ce fichier il faut rajouter les lignes:
RequireValidShell off //permet à l'utilisateur de se connecter avec un Shell false
# Nom du serveur
DefaultRoot ~ //vérouille l'utilisateur dans son répertoire par défaut
ServerName "Serveur FTP du Creufop"
# Fonctionne en mode autonome (daemon) et non via inetd
ServerType standalone
# Affiche le message de bienvenue que lorsque l'utilisateur s'est authentifié
DeferWelcome on
# Permet de voir les liens symboliques
ShowSymlinks on
# a commenter
MultilineRFC2228 on
DefaultServer on
# Efface un fichier si il est déjà présent
AllowOverwrite on
# Options liés aux expirations avant déconnexion
TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200
# Fichier à afficher lors de la connexion
DisplayLogin welcome.msg
# Affiche le fichier .message si celui-ci est présent dans le répertoire visité
DisplayFirstChdir .message
# Affiche par défaut le format long de la commande ls
LsDefaultOptions "-l"
# A commenter
DenyFilter \*.*/
# A décommenter si on utilise NIS ou LDAP
#PersistentPasswd off
# Le port standard de contrôle
Port 21
# Nombre maximum de connexions simultannées
MaxInstances 30
# Login et groupe utilisé par le daemon proftpd
User nobody
Group nogroup
# Masque par défaut des fichiers et des répertoires
Umask 022 022
# On autorise explicitement les logins autorises au FTP :
<Limit LOGIN>
AllowUser alex
AllowUser pierre
AllowUser alain
DenyAll
</Limit>
 
Dans ce fichier on peut rajouter les lignes suivantes :
 
# permet à l'utilisateur même si il ne dispose pas d'un shell valide (ex: /bin/false)
Créer un utilisateur:
RequireValidShell off
#adduser --shell /bin/false --home/var/www/site Alain
# Vérouille l'utilisateur dans son répertoire par défaut
DefaultRoot ~
 
 
Une fois les modifications faites sur le fichier de configuration, ne pas oublier de relancer le service:
Créer le répertoire FTP dans /var/www:
#mkdir site
 
# /etc/init.d/proftpd restart
 
Donner les droit du répertoire "site" à Alain
#chown -R site Alain.Alain
 
=== Accés FTP anonyme ===
 
Pour faire deun serveur FTP anonyme, dansil lesuffit fichierde rajouter les lignes suivantes dans '''/etc/proftpd/proftpd.conf''' :
il faut décommenter le paragraphe entre <anonymous ~ftp> et </anonymous>
 
<Anonymous ~ftp>
User ftp
Group nogroup
# We want clients to be able to login with "anonymous" as well as "ftp"
UserAlias anonymous ftp
RequireValidShell off
# Limit the maximum number of anonymous logins
MaxClients 10
# We want 'welcome.msg' displayed at login, and '.message' displayed
# in each newly chdired directory.
DisplayLogin welcome.msg
DisplayFirstChdir .message
# Limit WRITE everywhere in the anonymous chroot
<Directory *>
<Limit WRITE>
DenyAll
</Limit>
</Directory>
# Uncomment this if you're brave.
# <Directory incoming>
# # Umask 022 is a good standard umask to prevent new files and dirs
# # (second parm) from being group and world writable.
# Umask 022 022
# <Limit READ WRITE>
# DenyAll
# </Limit>
# <Limit STOR>
# AllowAll
# </Limit>
# </Directory>
</Anonymous>
 
 
Une fois les modifications faites sur le fichier de configuration, ne pas oublier de relancer le service:
== Fichier de log ==
#/etc/init.d/proftpd restart
 
Proftpd stocke ses logs dans le fichier '''/var/log/proftpd/xferlog'''. En voici un extrait :
 
Wed Feb 6 12:16:12 2008 1 lns-bzn-51f-85-78-78-5.adsl.proxad.net 1129 /home/user1/fichier1.txt a _ i r user1 ftp 0 * c
Thu Feb 6 15:23:49 2008 1 84-74-216-148.dclient.hispeed.ch 11743 /var/www/index.html a _ i r user2 ftp 0 * c
Fri Feb 6 23:46:02 2008 1 69.183.30.97.adsl.snet.net 4572542 /home/user2/toto.pdf a _ i r user2 ftp 0 * c
...
 
== Création d'un utilisateur FTP ==
 
Pour créer un utilisateur, on saisit la commande suivante :
 
# adduser --shell /bin/false --home /var/www/site alain