Serveurs Wuftpd
Écrit par VieuxProf   
01-01-1999

Wuftpd est le serveur FTP traditionnel sous Linux. Il est délicat à mettre en oeuvre et on découvre souvent de nouveaux bugs. A moins d'une absolue nécessité, on préfèrera des démons FTP alternatifs.
  1. Vérifier si ftpd est activé (# ftp localhost)
  2. Si une version 2.5.x/2.6.0 est installée, la désinstaller car il y a un bug de sécurité
  3. Installer wu-ftpd 2.6.1 ou ultérieur (# ./configure; ./make; ./make install)
  4. S'assurer que /etc/ftponly figure dans /etc/shells
  5. Créer les utilisateurs et les arborescences
  6. Paramétrer les fichiers de configuration

  • Par défaut, chaque utilisateur du système peut se connecter en FTP sur son 'home'. Il est préférable, pour des raisons de sécurité, de créer une arborescence et des utilisateurs FTP distincts des comptes locaux, généralement chrootés en /home/ftp ou /var/ftp.
  • La procédure en mode guest est alors la suivante :

    1. Vérifier que l'utilisateur ftp existe (# cat /etc/passwd | grep ftp)
    2. Créer un compte d'administrateur du contenu du serveur FTP, l'administrateur du serveur lui-même étant généralement root
      # useradd -c "commentaire" -d /home/ftp -s /etc/ftponly ftpadmin; passwd ftpadmin
    3. Créer des comptes d'utilisateurs FTP
      # useradd -c "commentaire" -d /home/ftp/ftpuser1 -s /etc/ftponly ftpuser1; passwd ftpuser1;
      # useradd -c "commentaire" -d /home/ftp/ftpuser2 -s /etc/ftponly ftpuser2; passwd ftpuser2, etc.
    4. Nettoyer les homes selon /etc/skeleton
      # rm -Rf /home/ftp; rm -Rf /home/ftp/ftpuser1; rm -Rf /home/ftp/ftpuser2 ; etc.
    5. Editer les fichiers /etc/passwd et /etc/group pour chrooter les comptes avec le symbole /./
      # fichier '/etc/passwd'
      ftp:x:503:503:ftp-daemon:/home/ftp/./:/etc/ftponly
      ftpadmin:x:525:525::/home/ftp/./:/etc/ftponly
      ftpuser1:x:526:526::/home/ftp/ftpuser1/./:/etc/ftponly
      ftpuser2:x:527:527::/home/ftp/ftpuser2/./:/etc/ftponly
      # fichier '/etc/group'
      ftp:x:503:
      ftpadmin:x:525:
      ftpuser1:x:526:ftpadm
      ftpuser2:x:527:ftpadm
    6. Pour chaque utilisateur, créer sous /home/ftp/monUtilisateur une arborescence incluant les binaires indispensables
      bin, root.root, 111 (-R)
      cddir, root.root, 111 (-R)
      etc, root.root, 111 avec fichiers 'group', root.root, 444 et 'passwd', root.root, 444
      lib, root.root, 111 (-R)
      msgs, ftpadmin.ftpadmin, 711 avec fichiers en 744
      repertoireUtilisateur, monUtilisateur.monUtilisateur, 755 (pour ftpadmin : ftpadmin, ftpadmin.ftpadmin, 700)
    7. Créer le contenu des fichiers du répertoire /home/ftp/monUtilisateur/etc
      # fichier passwd
      root:x:0:0:root:/root:/bin/bash
      ftp:x:503:503:ftp-daemon:/home/ftp/./:/etc/ftponly
      ftpadmin:x:525:525::/home/ftp/./:/etc/ftponly
      ftpuser1:x:526:526::/home/ftp/ftpuser1/./:/etc/ftponly
      ftpuser2:x:527:527::/home/ftp/ftpuser2/./:/etc/ftponly
      # fichier group
      root:x:0:root
      nobody:x:99:
      ftp:x:503:
      ftpadmin:x:525:
      ftpuser1:x:526:ftpuser1
      ftpuser2:x:527:ftpuser2
    8. Créer des fichiers .notar dans chacun des répertoires pour éviter le DoS - Deny of Services -
      # cd monRepertoire; touch .notar; chown root.root .notar; chmod 0 .notar)


/etc/ftpaccess configuration générale du démon ftpd
/etc/ftpusers restrictions d'accès aux utilisateurs
/etc/ftphosts accès personnalisé des utilisateurs autorisés
/etc/ftpgroups contrôle des groupes FTP (peu utilisé)
/etc/ftpconversions conversion vers d'autres Unix
/etc/inetd.conf, /etc/xinetd.conf paramétrage du contrôle de ftpd via tcpd
/etc/xinetd.d répertoire de paramétrage des services inetd (RedHat 7.0 et ultérieur)
/etc/shells définition d'un pseudo-shell /etc/ftponly
/var/log/xferlog fichier des logs de wu-ftpd
/var/log/messages autres logs importants, défini par défaut dans /etc/syslog.conf
/var/log/wtmp, /var/run/utmp enregistrement des connexions au service FTP


killall -HUP inetd, killall -HUP xinetd redémarrage de ftpd par tcpd
ftp monserveur ftp client interactif
ftpcount, ftpwho état courant des connexions
ftpshut programmation de l'heure d'extinction du serveur FTP


http://www.wu-ftpd.org/
http://www.cetis.hvu.nl/~koos/wu-ftpd-faq.html
http://www.landfield.com/wu-ftpd
http://www.academ.com/academ/wu-ftpd
Cet e-mail est protégé contre les robots collecteurs de mails, votre navigateur doit accepter le Javascript pour le voir
Dernière mise à jour : ( 03-02-2008 )