Comment configurer le serveur FTP sur Debian 9 Stretch Linux
- 4438
- 48
- Jeanne Dupont
Objectif
L'objectif est d'installer et de configurer le serveur FTP sur Debian 9 Stretch Linux permettant à la fois un accès aux utilisateurs anonymes ou locaux.
Système d'exploitation et versions logicielles
- Système opérateur: - Debian 9 Stretch
- Logiciel: - VSFTPD Version 3.0.3
Exigences
Accès privilégié à
Difficulté
MOYEN
Conventions
- # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de
Sudo
commande - $ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier
Instructions
Le tutoriel suivant expliquera comment installer et configurer le serveur FTP à l'aide vsftpd
démon. Il discutera également de diverses configurations pour permettre l'écriture ou l'accès en lecture seule à l'utilisateur anonyme ainsi qu'aux utilisateurs locaux.
Installation VSFTPD
Commençons par l'installation du client VSFPTD et FTP:
# APT INSTALLER VSFTPD FTP
Par défaut, le serveur VSFTPD est configuré pour permettre aux utilisateurs du système d'accéder à leurs répertoires domestiques avec un accès en lecture seule. Ce qui suit est un fichier de configuration par défaut Vsftpd / etc / vsftpd.confli
:
écouter = non écouter_ipv6 = oui anonymous_enable = no local_enable = oui dirMessage_enable = oui use_localtime = oui xferlog_enable = oui connect_from_port_20 = oui sécuris_chroot_dir = / var / run / vsftpd / vide pam_service_name = vsftpd rsa_cert_file = / ssl / ssl l'huile de serpent.pem rsa_private_key_file = / etc / ssl / private / ssl-cerner-sakeoil.clé ssl_enable = non
Comme déjà mentionné, le fichier de configuration ci-dessus n'accordera qu'un accès en lecture seule à tout utilisateur système répertorié dans / etc / passwd
déposer. Utiliser FTP
Commande et tentez de se connecter à l'aide du nom d'utilisateur et du mot de passe de l'un des utilisateurs du système local:
# FTP localhost connecté à localhost. 220 (vsftpd 3.0.3) Nom (localhost: root): LinuxConfig 331 Veuillez spécifier le mot de passe. Mot de passe: 230 Connexion réussie. Le type de système distant est Unix. Utiliser le mode binaire pour transférer des fichiers. FTP> Put Fichier.Txt local: fichier.TXT Remote: fichier.TXT 200 EPRT Commande réussie. Envisagez d'utiliser EPSV. 550 autorisation refusée.
Si vous n'avez besoin que d'un accès en lecture seule par vos utilisateurs locaux, vous avez terminé.
Autoriser l'accès à l'écriture de l'utilisateur
Pour ajouter un accès en écriture pour tous les communications utilisateur local du système ou ajouter la strophe suivante write_enable = oui
. Le nouveau fichier de configuration se compose:
écouter = non écouter_ipv6 = oui anonymous_enable = no local_enable = oui dirMessage_enable = oui use_localtime = oui xferlog_enable = oui connect_from_port_20 = oui sécuris_chroot_dir = / var / run / vsftpd / vide pam_service_name = vsftpd rsa_cert_file = / ssl / ssl l'huile de serpent.pem rsa_private_key_file = / etc / ssl / private / ssl-cerner-sakeoil.clé ssl_enable = non write_enable = oui
Ensuite, redémarrez votre VSFTPD:
# SystemCTL Redémarrer VSFTPD
Effectuer un nouveau test avec FTP
commande pour confirmer l'accès en écriture:
# FTP localhost connecté à localhost. 220 (vsftpd 3.0.3) Nom (localhost: root): LinuxConfig 331 Veuillez spécifier le mot de passe. Mot de passe: 230 Connexion réussie. Le type de système distant est Unix. Utiliser le mode binaire pour transférer des fichiers. FTP> Put Fichier.Txt local: fichier.TXT Remote: fichier.TXT 200 EPRT Commande réussie. Envisagez d'utiliser EPSV. 150 OK pour envoyer des données. 226 Transfert complet. FTP> LS 200 EPRT Commande réussie. Envisagez d'utiliser EPSV. 150 voici la liste des répertoires. -RW ------- 1 1000 1000 0 juin 07 12:45 Fichier.TXT 226 Répertoire Envoyer OK.
Autoriser les utilisateurs spécifiques uniquement
Pour le moment, notre serveur FTP permet d'accéder à tout utilisateur système défini dans / etc / passwd
déposer. Afin de permettre uniquement aux utilisateurs spécifiques de pouvoir vous connecter, nous pouvons inclure les lignes suivantes dans notre fichier de configuration:
userList_file = / etc / vsftpd.UserList userList_enable = Oui
Ce qui précède permettra une liste d'utilisateurs prédéfinie où tout utilisateur répertorié dans / etc / vsftpd.liste d'utilisateur
(Un nom d'utilisateur par ligne) aura accès au FTP refusé tandis que tous les autres utilisateurs du système pourront se connecter. Créons un nouveau / etc / vsftpd.liste d'utilisateur
Liste d'utilisateurs composée d'un seul utilisateur linuxconfig
:
# echo linuxconfig> / etc / vsftpd.liste d'utilisateur
Redémarrer le serveur VSFTPD:
# SystemCTL Redémarrer VSFTPD
Effectuer un nouveau test avec FTP
commande pour confirmer l'accès refusé au serveur FTP pour linuxconfig
utilisateur:
# FTP localhost connecté à localhost. 220 (vsftpd 3.0.3) Nom (localhost: root): LinuxConfig 530 Permission refusée. échec de la connexion. ftp>
Cependant, si vous devez être en mesure de vous connecter uniquement avec les utilisateurs définis dans / etc / vsftpd.liste d'utilisateur
, Ajouter l'option de configuration suivante userList_deny = non
dans votre fichier de configuration VSFTPD / etc / vsftpd.confli
. Ci-dessous est notre actuel / etc / vsftpd.confli
fichier de configuration:
écouter = non écouter_ipv6 = oui anonymous_enable = no local_enable = oui dirMessage_enable = oui use_localtime = oui xferlog_enable = oui connect_from_port_20 = oui sécuris_chroot_dir = / var / run / vsftpd / vide pam_service_name = vsftpd rsa_cert_file = / ssl / ssl l'huile de serpent.pem rsa_private_key_file = / etc / ssl / private / ssl-cerner-sakeoil.clé ssl_enable = non write_enable = oui userList_file = / etc / vsftpd.UserList userList_enable = Oui UserList_deny = Non
Autoriser Anonyme
À ce stade, nous allons également autoriser l'accès en lecture seule par les utilisateurs anonymes. Commençons à créer un nouveau répertoire qui sera utilisé comme répertoire racine pour l'utilisateur anonyme, par exemple. / var / ftp
. À des fins de test, nous pouvons également placer un fichier de test arbitraire dans / var / ftp
:
# mkdir / var / ftp / # chmod 555 / var / ftp / # chown ftp.FTP / VAR / FTP / # Touch / Var / FTP / Anonymous.SMS
De plus, inclure les lignes suivantes dans / etc / vsftpd.confli
Fichier de configuration pour définir le répertoire domestique anonyme et l'accès anonyme:
anon_root = / var / ftp anonymous_enable = oui
Éventuellement, ajouter no_anon_password = oui
ligne pour instruire VSFTPD pour permettre à l'utilisateur anonyme de se connecter automatiquement sans le mot de passe. Puisque nous avons maintenant défini la liste d'utilisateurs, nous devons également ajouter le anonyme
Utilisateur à la liste:
# echo anonymous >> / etc / vsftpd.liste d'utilisateurs # cat / etc / vsftpd.list linuxconfig anonymous
Comme redémarrez habituellement votre serveur FTP et effectuez une validité de votre configuration actuelle:
# SystemCTL Redémarrer VSFTPD
Tester la connexion anonyme:
# FTP localhost connecté à localhost. 220 (vsftpd 3.0.3) Nom (localhost: root): Anonyme 230 Login réussi. Le type de système distant est Unix. Utiliser le mode binaire pour transférer des fichiers. FTP> LS 200 EPRT Commande réussie. Envisagez d'utiliser EPSV. 150 voici la liste des répertoires. -rw-r - r-- 1 0 0 0 juin 07 13:29 Anonyme.TXT 226 Répertoire Envoyer OK. ftp>
Vous trouverez ci-dessous notre fichier de configuration VSFTPD actuel:
écouter = non écouter_ipv6 = oui anonymous_enable = no local_enable = oui dirMessage_enable = oui use_localtime = oui xferlog_enable = oui connect_from_port_20 = oui sécuris_chroot_dir = / var / run / vsftpd / vide pam_service_name = vsftpd rsa_cert_file = / ssl / ssl l'huile de serpent.pem rsa_private_key_file = / etc / ssl / private / ssl-cerner-sakeoil.clé ssl_enable = non write_enable = oui userList_file = / etc / vsftpd.UserList userList_enable = Oui UserList_deny = Non anon_root = / var / ftp anonymous_enable = oui no_anon_password = oui
Activer l'accès à l'écriture anonyme
Ensuite, permettons à l'utilisateur anonyme de télécharger des fichiers et de créer de nouveaux répertoires et plus. Pour ce faire, créez un nouveau répertoire télécharger
dans / var / ftp
annuaire:
# mkdir / var / ftp / téléchargement # chown ftp.ftp / var / ftp / upload /
Ensuite, ajoutez les lignes suivantes dans votre fichier de configuration VSFTPD:
anon_upload_enable = oui anon_other_write_enable = oui anon_mkdir_write_enable = oui
Redémarrez votre serveur:
# SystemCTL Redémarrer VSFTPD
Après le redémarrage, l'utilisateur anonyme pourra télécharger des fichiers, créez des répertoires de renommée des fichiers:
# FTP localhost connecté à localhost. 220 (vsftpd 3.0.3) Nom (localhost: root): Anonyme 230 Login réussi. Le type de système distant est Unix. Utiliser le mode binaire pour transférer des fichiers. FTP> LS 200 EPRT Commande réussie. Envisagez d'utiliser EPSV. 150 voici la liste des répertoires. -rw-r - r-- 1 0 0 0 juin 07 13:29 Anonyme.Txt drwxr-xr-x 2 108 112 4096 juin 07 13:57 Téléchargement 226 Répertoire Envoyer OK. FTP> CD Téléchargement 250 Répertoire a changé avec succès. FTP> Put Fichier.Txt local: fichier.TXT Remote: fichier.TXT 200 EPRT Commande réussie. Envisagez d'utiliser EPSV. 150 OK pour envoyer des données. 226 Transfert complet. FTP> LS 200 EPRT Commande réussie. Envisagez d'utiliser EPSV. 150 voici la liste des répertoires. -RW ------- 1 108 112 0 juin 07 13:57 Fichier.TXT 226 Répertoire Envoyer OK. FTP> Renommer le fichier.Txt nouveau.Txt 350 prêt pour rnto. 250 Renommer réussi. FTP> LS 200 EPRT Commande réussie. Envisagez d'utiliser EPSV. 150 voici la liste des répertoires. -RW ------- 1 108 112 0 juin 07 13:57 Nouveau.TXT 226 Répertoire Envoyer OK. ftp>
Vous trouverez ci-dessous notre fichier de configuration VSFTPD final:
écouter = non écouter_ipv6 = oui anonymous_enable = no local_enable = oui dirMessage_enable = oui use_localtime = oui xferlog_enable = oui connect_from_port_20 = oui sécuris_chroot_dir = / var / run / vsftpd / vide pam_service_name = vsftpd rsa_cert_file = / ssl / ssl l'huile de serpent.pem rsa_private_key_file = / etc / ssl / private / ssl-cerner-sakeoil.clé ssl_enable = non write_enable = oui userList_file = / etc / vsftpd.UserList userList_enable = Oui UserList_deny = non anon_root = / var / ftp anonymous_enable = oui no_anon_password = oui anon_upload_enable = oui anon_other_write_enable = oui anon_mkdir_write_enable = oui
annexe
Message d'erreur:
# FTP localhost connecté à localhost. 220 (vsftpd 3.0.3) Nom (LocalHost: Root): Anonymous 500 oups: VSftpd: refuser de fonctionner avec une racine écrite à l'intérieur de Chroot () Login a échoué. ftp>
Ce qui précède indique que votre anon_root
Le répertoire est écrit. La solution consiste à le faire en lecture seule. Exemple:
# chmod 555 / var / ftp
Alternativement, essayez d'ajouter la ligne suivante dans votre fichier de configuration VSFTPD:
allow_writeable_chroot = oui
Tutoriels Linux connexes:
- Configuration du serveur FTP sur Linux
- Choses à installer sur Ubuntu 20.04
- Comment configurer vsftpd sur Debian
- Comment configurer le serveur et le client FTP / SFTP sur Almalinux
- Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
- Une introduction à l'automatisation Linux, des outils et des techniques
- Fichiers de configuration Linux: 30 premiers
- Choses à installer sur Ubuntu 22.04
- Téléchargement Linux
- Liste des clients FTP et installation sur Ubuntu 22.04 Linux…
- « Mise à niveau Raspbian GNU / Linux de Jessie à Raspbian Stretch 9
- Récupérer un mot de passe racine oublié sur le système Linux SELINUX REDHAT 7 »