Le système d'exploitation GNU-Linux/Le serveur de fichiers FTP
Introduction
modifierLe protocole FTP (File Transfer 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 serveurs FTP : ProFTPD, Pure-FTPd, VsFTPd, wu-ftpd, muddleftpd... Chacun se différencie des autres par ses fonctionnalités et sa facilité (ou non) a être configuré.
Généralement ces serveurs peuvent également fournir un serveur SFTP (FTP sécurisé, sur le port 22).
ProFTPD
modifier- Pour plus de détails voir : Administration réseau sous Linux/ProFTPD.
- Installation :
# apt-get install proftpd
- Configuration :
# vim /etc/proftpd/proftpd.conf
Une fois les modifications faites sur le fichier de configuration, ne pas oublier de relancer le service :
# /etc/init.d/proftpd restart
Exemple de configuration :
# Nom du serveur
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
ListOptions "-l"
# À commenter
DenyFilter \*.*/
# À décommenter si on utilise NIS ou LDAP
#PersistentPasswd off
# Le port standard de contrôle
Port 21
# Nombre maximum de connexions simultané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>
Commandes
modifierPour piloter un flux SFTP en commandes[1] :
sftp mon_serveur
sftp> ls # fichier_distant
sftp> lls # fichier_local
sftp> get *
sftp> lls # fichier_local, fichier_distant
sftp> put fichier_local
sftp> ls # fichier_local, fichier_distant
sftp> put local_file remote_path/remote_file