vsftpd-3.0.5

Introduction à vsftpd

Le paquet vsftpd contient un démon FTP très petit et très sécurisé. C'est utile pour partager des fichiers sur un réseau.

This package is known to build and work properly using an LFS 12.1 platform.

Informations sur le paquet

  • Téléchargement (HTTP) : https://security.appspot.com/downloads/vsftpd-3.0.5.tar.gz

  • Téléchargement (FTP) :

  • Somme de contrôle MD5 : efbf362a65bec771bc15ad311f5a982e

  • Taille du téléchargement : 210 Ko

  • Estimation de l'espace disque requis : 1.9 Mo

  • Estimation du temps de construction : moins de 0,1 SBU

Dépendances de vsftpd

Requises

libnsl-2.0.1

Recommandées

Facultatives

libcap-2.69 avec PAM

Installation de vsftpd

Pour des raisons de sécurité, l'exécution de vsftpd en tant qu'utilisateur et groupe non privilégiés est recommandée. Vous devriez aussi créer un utilisateur pour y associer les utilisateurs anonymes. En tant qu'utilisateur root, créez les répertoires, les utilisateurs et les groupes nécessaires, avec les commandes suivantes :

install -v -d -m 0755 /usr/share/vsftpd/empty &&
install -v -d -m 0755 /home/ftp               &&
groupadd -g 47 vsftpd                         &&
groupadd -g 45 ftp                            &&

useradd -c "vsftpd User"  -d /dev/null -g vsftpd -s /bin/false -u 47 vsftpd &&
useradd -c anonymous_user -d /home/ftp -g ftp    -s /bin/false -u 45 ftp

Gcc-10 et supérieur indique une erreur sur une conversion de type implicite. Rendez-la explicite :

sed -e "s/kVSFSysStrOpenUnknown;/(enum EVSFSysUtilOpenMode)&/" -i sysstr.c

Construisez vsftpd en tant qu'utilisateur non privilégié en utilisant la commande suivante :

make

Ce paquet n'a pas de suite de tests.

De nouveau, devenez utilisateur root et installez vsftpd avec les commandes suivantes :

install -v -m 755 vsftpd        /usr/sbin/vsftpd    &&
install -v -m 644 vsftpd.8      /usr/share/man/man8 &&
install -v -m 644 vsftpd.conf.5 /usr/share/man/man5 &&
install -v -m 644 vsftpd.conf   /etc

Explication des commandes

install -v -d ... : Ceci crée le répertoire que les utilisateurs anonymes utiliseront (/home/ftp) et le répertoire sur lequel se chrootera le démon (/usr/share/vsftpd/empty).

[Note]

Note

/home/ftp ne devrait pas appartenir à l'utilisateur vsftpd ou ftp.

echo "#define VSF_BUILD_TCPWRAPPERS" >>builddefs.h : Utilisez ceci avant make pour ajouter le support de tcpwrappers.

echo "#define VSF_BUILD_SSL" >>builddefs.h : Utilisez ceci avant make pour ajouter le support de SSL.

install -v -m ... : Le Makefile utilise des chemins d'installation non standards. Ces commandes installent les fichiers dans /usr et /etc.

Configuration de vsftpd

Fichiers de configuration

/etc/vsftpd.conf

Informations sur la configuration

vsftpd est fourni avec un fichier de configuration pour utilisateur anonyme seulement qui a été copié ci-dessus dans /etc. Toujours en tant qu'utilisateur root, vous devriez modifier ce fichier car il n'est pas recommandé de lancer vsftpd en mode autonome. Vous devriez aussi spécifier une séparation des privilèges avec l'utilisateur créé ci-dessus. Enfin, vous devriez indiquer le répertoire chroot. man vsftpd.conf vous donnera tous les détails

cat >> /etc/vsftpd.conf << "EOF"
background=YES
nopriv_user=vsftpd
secure_chroot_dir=/usr/share/vsftpd/empty
EOF

Pour activer l'authentification locale, ajoutez les lignes suivantes au fichier /etc/vsftpd.conf (en tant qu'utilisateur root) :

cat >> /etc/vsftpd.conf << "EOF"
local_enable=YES
EOF

De plus, si vous utilisez Linux-PAM et vsftpd avec l'authentification locale, vous aurez besoin d'un fichier de configuration Linux-PAM. En tant qu'utilisateur root, créez le fichier /etc/pam.d/vsftpd et ajoutez les changements de configuration requis pour le support des sessions Linux-PAM avec les commandes suivantes :

cat > /etc/pam.d/vsftpd << "EOF" &&
# Begin /etc/pam.d/vsftpd
auth       required     /lib/security/pam_listfile.so item=user sense=deny \
                                                      file=/etc/ftpusers \
                                                      onerr=succeed
auth       required     pam_shells.so
auth       include      system-auth
account    include      system-account
session    include      system-session
EOF

cat >> /etc/vsftpd.conf << "EOF"
session_support=YES
pam_service_name=vsftpd
EOF

Script de démarrage

Installez le script de démarrage /etc/rc.d/init.d/vsftpd inclus dans le paquet blfs-bootscripts-20240209 :

make install-vsftpd

Contenu

Programme installé: vsftpd
Bibliothèques installées: Aucune
Répertoires installés: /usr/share/vsftpd, /home/ftp

Descriptions courtes

vsftpd

est le démon FTP