Webmail Espace privé About
Home   Debian Addict Testing

Installer un serveur FTP : vsftpd

mercredi 13 juillet 2005.
 

Vous vous êtes sûrement déjà demandé comment partager un espace disque de façon à ce qu’il soit accessible sur Internet tout en restant raisonnablement sécurisé. Cela peut-être utile au bureau ou à titre privé. La mise en place d’un serveur FTP est une solution élégante et facile à mettre en œuvre.

Voici en quelques points les principales caractéristiques du serveur que nous voulons mettre en place :

- chaque utilisateur se connectera avec un identifiant propre. Le système pourra ainsi logger les actions de chacun (en gros, savoir qui fait quoi)
- chaque utilisateur disposera d’un espace où il puisse stocker ses fichiers de façon privée
- chaque utilisateur accédera à un espace public

Tout cela est faisable facilement grâce à Very Secure FTPd (autrement appelé vsftpd qui équipe des serveurs FTP tels que ceux Red Hat, Suse, OpenBSD, kernel.org et bien (bien sûr) Debian.

Loggez vous en root et tapez :

# apt-get install vsftpd

Une fois vsftpd installé, il faudra remplacer le fichier de configuration /etc/vsftpd.conf par le suivant :

# Nous voulons que le serveur fonctionne en mode standalone
listen=YES
#
# On ne veut surtout pas de connexions en mode anonymous
anonymous_enable=NO
#
# On veut que les utilisateurs locaux puissent se connecter
local_enable=YES
#
# On veut que les utilisateurs puissent remonter des fichiers sur le serveur
write_enable=YES
#
# On fixe le masque local a 022 (les fichiers remontés auront des droits en 755)
local_umask=022
#
# On interdit l’upload anonyme
anon_upload_enable=NO
#
# Idem pour la creation de repertoires
anon_mkdir_write_enable=NO
#
# On demande a ce que les actions des utilisateurs soient loggees
xferlog_enable=YES
#
# On verifie que la commande PORT provienne bien du port 20 de la machine cliente
connect_from_port_20=YES
#
# Les logs seront enregistres dans le fichier /var/log/vsftpd.log
xferlog_file=/var/log/vsftpd.log
#
# On declare les valeurs de timeout. Celles fournies par defaut sont ok pour notre utilisation
idle_session_timeout=300
data_connection_timeout=120
connect_timeout=60
accept_timeout=60
#
# Par securite, on interdit la commande ABOR
async_abor_enable=NO
#
# Les transferts en ASCII sont souvent source de confusions
ascii_upload_enable=NO
ascii_download_enable=NO
#
# Par securite, on change la banniere
ftpd_banner=Bienvenue sur le serveur Debian Addict
#
# On veut limiter les utilisateurs a leur repertoire
chroot_local_user=YES
chroot_list_enable=NO
#
# Les heures d’enregistrement des fichiers seront affichees a l’heure locale
use_localtime=YES

Une fois le fichier de configuration remplacé, on relance le serveur FTP en tapant en root :

# /etc/init.d/vsftpd restart

A partir de ce moment, les utilisateurs ont accès à leurs répertoires personnels via FTP et leurs actions sont enregistrées dans le fichier /var/log/vsftpd.log.

Il nous reste donc à créer un répertoire commun auquel chacun aura accès. Pour cela, on crée un utilisateur lambda que l’on appellera "commun" [1]. En root, tapez :

# adduser commun

Le système demande ensuite le mot de passe de l’utilisateur puis différents renseignements qui sont à passer.

Il faut placer les fichiers que vous voulez partager dans le répertoire de l’utilisateur "commun". Les photos de tata Monique feront merveille mais à défaut cela fonctionne aussi avec n’importe quel document d’entreprise.

Les fichiers partagés doivent être lisibles par n’importe quel utilisateur en lecture, il faut donc faire :

# chmod -R 755 /home/commun
# chown commun:commun -R /home/commun

Il faut alors créer dans le répertoire personnel de chaque utilisateur un répertoire "commun" et y attribuer les bons droits. Soit, si on prend l’exemple de l’utilisateur pingoo :

# mkdir /home/pingoo/commun
# chown pingoo:pingoo /home/pingoo/commun
# chmod 755 /home/pingoo/commun

Il faudra ensuite indiquer au système le lien entre /home/commun et /home/pingoo/commun en rajoutant la ligne suivante dans le fichier /etc/fstab :

/home/commun /home/pingoo/commun auto bind,defaults 0 0

Pour finir, on monte le répertoire /home/pingoo/commun en tapant :

mount /home/pingoo/commun

Le montage restera en place à chaque reboot. Il ne vous reste plus qu’à communiquer l’adresse de votre serveur ainsi que les identifiants à vos utilisateurs. Bien évidemment choisissez des mots de passe non triviaux (y compris pour "commun").

Pour information, voici un petit aperçu des performances de vsftpd.

J’ajoute également qu’il est possible de créer un répertoire où chacun pourra mettre ses fichiers. Pour cela, il faudra créer un répertoire dans l’espace privé de l’utilisateur "commun" en lui affectant comme droits 777 avec "commun" comme utilisateur et groupe.

[1] L’installation par défaut de vsftpd fournit un utilisateur "ftp" avec lequel la manipulation est également possible


Signatures: 0
Date Nom Message

Forum

Vous pouvez participer à la vie de ce site et proposer vos propres articles en vous inscrivant ci-dessous. Vous recevrez immédiatement un email vous indiquant vos codes d'accès à l'espace privé du site.

Identifiants personnels

Indiquez ici votre nom et votre adresse email. Votre identifiant personnel vous parviendra rapidement, par courrier électronique.

Des mêmes auteurs


Parse error: syntax error, unexpected $end, expecting ')' in /home/gwhere/www/debianaddict/stats/var/last.php on line 803