serveur ftp sur redhat

Le protocole *FTP* (File Transfer Protocol) est l'un des protocoles les
plus anciens et les plus couramment utilisés sur Internet aujourd'hui.
Son but est de transférer de manière fiable des fichiers entre des
hôtes informatiques sur un réseau sans que l'utilisateur ait à se
connecter directement à l'hôte distant ou à savoir comment utiliser le système distant. Il permet aux utilisateurs d'accéder à des fichiers
sur des systèmes distants en utilisant un ensemble standard de
commandes simples.


Le démon *FTP* très sécurisé (vsftpd) est conçu pour être rapide, stable et, surtout, sécurisé. Sa capacité à gérer efficacement un grand nombre de connexions est la raison pour laquelle *vsftpd* est le seul *FTP* autonome distribué avec Red Hat Enterprise Linux.

Dans *Red Hat Enterprise Linux*, le package *vsftpd* fournit le démon FTP très sécurisé. Exécutez la commande *rpm -q vsftpd* pour voir si *vsftpd* est installé.
Si vous voulez un serveur *FTP* et que le package *vsftpd* n'est pas
installé, exécutez la commande suivante en tant qu'utilisateur root
pour l'installer...

*yum install vsftpd*
Parlons de *FTP et SELinux*

Le démon *FTP vsftpd* s'exécute par défaut. La politique *SELinux* définit la manière dont *vsftpd* interagit avec les fichiers, les processus et le système en général.

Par exemple, lorsqu'un utilisateur authentifié se connecte via FTP, il ne peut ni lire ni écrire dans les fichiers de ses répertoires personnels:

*SELinux* empêche *vsftpd* d'accéder par défaut aux
répertoires personnels des utilisateurs. Par ailleurs, vsftpd n'a pas accès aux volumes NFS ou CIFS par défaut, et les utilisateurs anonymes n'ont pas d'accès en écriture, même si cet accès en écriture est configuré dans */etc/vsftpd/vsftpd.conf*.

Les booléens peuvent être
activés pour autoriser l'accès mentionné précédemment.
L'exemple suivant illustre un utilisateur authentifié qui se connecte et un refus *SELinux* lorsqu'il tente d'afficher des fichiers dans son répertoire personnel:

- Exécutez la commande *rpm -q ftp* pour voir si le package *ftp* est installé. Si ce n'est pas le cas, exécutez la commande *yum install ftp* en tant qu'utilisateur root pour l'installer.

- Exécutez la commande *rpm -q vsftpd* pour voir si le package vsftpd est installé. Si ce n'est pas le cas, exécutez la commande *yum
install vsftpd* en tant qu'utilisateur root pour l'installer.
 Dans *Red Hat Enterprise Linux,* *vsftpd* autorise uniquement les
utilisateurs anonymes à se connecter par défaut.

Pour autoriser les utilisateurs authentifiés à se connecter, éditez
*/etc/vsftpd/vsftpd.conf* en tant qu'utilisateur root. Assurez-vous que l'option *local_enable = YES* est décommentée:
Comme ceci 👇🏽
*# Uncomment this to allow local users to log in.*

local_enable=YES
Exécutez la commande de démarrage du service *vsftpd* en tant qu'utilisateur root pour démarrer *vsftpd.* Si le service était en cours d'exécution avant l'édition de *vsftpd.conf,* exécutez la commande *service vsftpd restart* en tant qu'utilisateur root pour appliquer les modifications de configuration:

*~]# service vsftpd start
 Exécutez la commande *ftp localhost* en tant qu'utilisateur avec lequel vous êtes actuellement connecté. Lorsque vous êtes invité à entrer votre nom, assurez-vous que votre nom d'utilisateur est affiché. Si le nom d'utilisateur correct est affiché, appuyez sur Entrée, sinon entrez le nom d'utilisateur correct:

Comme cet exemple 👇🏽

*~] ftp localhost*
*Connected to localhost (127.0.0.1).*
*220 (vsFTPd 2.1.0)*
*Name (localhost:username):*
*331 Please specify the password.*
*Password: Enter your password*
*500 OOPS: cannot change* *directory:/home/username*
*Login failed.*
*ftp>*
 Vous pouvez avoir une erreur de cette façon 👇🏽

*setroubleshoot: SELinux is preventing the ftp daemon from reading
users home directories (username). For complete SELinux messages.
run sealert -l c366e889-2553-4c16-b73f-92f36a1730ce*
S'il arrive, l''accès aux répertoires personnels a été refusé par *SELinux.* Cela peut être corrigé en activant le *booléen ftp_home_dir.*

Vous pouvez activez ce booléen
*ftp_home_dir* en exécutant la commande suivante en tant qu'utilisateur root:

*~]# setsebool -P ftp_home_dir=1

 ⚠N.B: N'utilisez pas l'option *-P* si vous ne souhaitez pas que les
modifications persistent lors des redémarrages. Et aussi assurez vous d’installer *YUM* avant de suivre ce co. Si non revisiter les.

Commentaires