Ceci est une ancienne révision du document !


Installer un serveur FTP avec utilisateurs virtuels

On va installer un serveur FTP gérant les utilisateurs virtuels, pour ce faire on utilisera vsFTPd.

Le configuration se fera comme d'habitude sur un serveur debian stable (squeeze).

Le cahier des charges :

  • ne pas autoriser les utilisateurs locaux au système
  • autoriser des utilisateurs virtuels
  • limiter chaque utilisateur virtuel un répertoire utilisateur (chroot)
  • Etre accessible en IPv6 et IPv4

Installation initiale

L'installation se limite à :

# apt-get install vsftpd

Par défaut le serveur FTP démarre, et autorise les connexions anonymes, nous allons donc le couper le temps de le configurer :

# /etc/init.d/vsftpd stop

Configuration initiale

La configuration s'effectue dans le fichier /etc/vsftpd.conf :

  • Écouter en IPv6 : pour que vsftpd écoute en IPv6 il est faut en aussi commenter “listen=YES”, il va alors écouter en IPv4 et IPv6 :
    # sed -i -e "s/^listen=YES/#listen=YES/" /etc/vsftpd.conf
    # sed -i -e "s/^#listen_ipv6=YES/listen_ipv6=YES/" /etc/vsftpd.conf
  • Empêcher les connexion anonymes :
    # sed -i -e "s/^anonymous_enable=YES/anonymous_enable=NO/" /etc/vsftpd.conf
  • Autoriser l’écriture pour les utilisateurs (virtuels) :
    # sed -i -e "s/^#write_enable=YES/write_enable=YES/" /etc/vsftpd.conf
  • désactiver le forçage du port 20 pour les connexions de données (permet a vsftpd de tourner avec un peu moins de privilèges) :
    # sed -i -e "s/^connect_from_port_20=YES/#connect_from_port_20=YES
Cette option est désactivée par defaut, mais activée dans le fichier de configuration par fourni par défaut.
  • ajouter a la fin :
    # limitation du nombres de connexions totales/par IP
    max_clients=15
    max_per_ip=4
    
    # On indique que tout les utilisateurs sont limités à leurs propres repertoires
    chroot_local_user=YES
    chroot_list_enable=NO
    
    # pour voir la liste des utilisateur connectés avec : ps -aef | grep vsftpd
    # attention n'importe quel utilisateur systeme local pourra donc obtenir la liste des utilisateurs FTP connectés
    setproctitle_enable=YES
    
    # modifier le message de bienvenue
    ftpd_banner=Bienvenue sur mon serveur a moi
    
    # les fichiers ecrits auront les droits 775
    local_umask=002
    
    # définir le répertoire contenant les fichiers de configuration utilisateurs :
    user_config_dir=/etc/vsftpd/user_conf
    
    # configuration utilisateurs virtuels
    guest_enable=YES
    guest_username=virtual
    # permettre aux utilisateurs virtuels d'avoir les droits d'utilisateurs locaux (vs anonymes) leur permettant donc d'ecrire
    virtual_use_local_privs=YES
    hide_ids=YES
    
    # configuration du mode passif (utile pour limiter l'ouverture de la fenetre des firewalls, ici les ports 48152 à 49192)
    #pasv_enable=YES valeur par defaut
    pasv_enable=YES
    pasv_min_port=48152
    pasv_max_port=49192

Configuration initiale

Ajout des utilisateurs virtuels - TODO

Références

sysadmin/vsftpd_virtual.1350478436.txt.gz · Dernière modification: 2012/10/17 14:53 par james
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0