Pages

dimanche 9 juin 2013

Installer un serveur FTP sur debian: vsftpd


L'intérêt de ce tutoriel est qu'il me serve d'aide mémoire mais également de faire profiter des utilisateurs de Linux pour la mise en place d'un serveur FTP.

Voici en quelques points les principales caractéristiques du serveur que je vais 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
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
#
# Les droits en écriture aux utilisateurs locaux
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 répertoire d'origine
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"  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". Cela peut être les photos des dernières vacances par exemple  ou autres choses, mais il faut que cela fonctionne aussi avec n’importe quels documents .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 tux :

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



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

/home/commun /home/tux/commun auto bind,defaults 0 0
Pour finir, on monte le répertoire /home/pingoo/commun en tapant :

mount /home/tux/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").

Source:Debian Addic
            Adminreseau.fr