Serveur FTP sous Linux

Transcription

Serveur FTP sous Linux
Serveur FTP sous Linux
Installer vsftpd
• utiliser synaptic ou apt-get sur ubuntu ou Debian
• utiliser Yast sur Opensuse ou suse
• ... voir le site distrowatch pour les commandes d'installation de paquetages
Contrôler le service vsftpd
• /etc/init.d/vsftpd [start|stop|reload]
configurer : nano /etc/vsftpd.conf
• autoriser l'accès anonyme
• autoriser les clients authentifiés à écrire sur le serveur (upload autorisé)
• si l'accès anonyme est autorisé, les URL suivants permettent de se connecter selon les 2
modes
• ftp://localhost en anonyme
• ftp://esaip@localhost pour un client authentifié
Indications complémentaires
La configuration par défaut du serveur vsftpd (définie dans le fichier /etc/vsftpd.conf)
autorise les connexions anonymes et les connexions authentifiées pour les utilisateurs Unix
(sauf pour root)
La dossier publié en ftp
• pour l'utilisateur anonymous, est le dossier personnel de l'utilisateur ftp, donc ~ftp.
•
Le mot de passe de l'utilisateur anonymous est traditionnellement l'adresse mail du client... mais en
général ce n'est pas vérifié... ceci n'est visible que si on utilise ftp en ligne de commande
pour un utilisateur Unix nommé demo, c'est son dossier personnel, ~demo
Pour autoriser l'écriture, il faut modifier la variable write_enable
•
write_enable=YES
ceci est nécessaire pour écrire mais pas suffisant, en effet
•
•
#anon_upload_enable=YES en commentaire (#) interdit toujours d'écrire à
l'utilisateur anonyme, car la valeur par défaut de anon_upload_enable est NO
les droits d'accès Unix sur ~ftp, ou un de ses sous-répertoires, doivent aussi donner le
droit d'écrire (w) à l'utilisateur ftp
Pour un utilisateur authentifié, write_enable=YES est suffisant pour écrire dans tous les
dossiers où cet utilisateur a le droit d'écrire
chroot ?
L'utilisateur anonyme, ne peut sortir du répertoire ~ftp; par contre un utilisateur authentifié
peut remonter jusqu'à la racine « / » et redescendre dans tous les répertoires qui lui sont
autorisés, et s'il a le droit d'écrire, y déposer ou supprimer des fichiers.
Pour augmenter la sécurité, on souhaite souvent interdire à un utilisateur de sortir de son
répertoire personnel lors d'une connexion ftp.
Avec vsftpd, il faut modifier la variable chroot_local_user, et mettre
• chroot_local_user=YES.
Mais pour vsftpd, ce n'est pas suffisant, il faut aussi interdire le droit d'écriture à cet
utilisateur sur la racine de son dossier personnel par exemple pour l'utilisateur demo, on
tapera sous unix la commande suivante :
• chmod
u-w ~demo
Attention, cette exigence est incompatible avec l'utilisation de Xwindow (mode graphique
d'Unix) qui demande le droit d'écrire à la racine du dossier personnel
• chmod
u+w ~demo