Documentation du Dr FRAPPE

Ce wiki regroupe les résultats de mes expériences en informatique accumulés au cours de mes recherches sur le net.

Dans la mesure du possible, j'ai cité mes sources ; il en manque certainement… :-)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

logiciel:internet:ftp:vsftpd:start [2021/01/04 10:33] – [VSFTPd : un serveur FTP sécurisé avec des utilisateurs virtuels] adminlogiciel:internet:ftp:vsftpd:start [2022/08/13 22:14] (Version actuelle) – modification externe 127.0.0.1
Ligne 30: Ligne 30:
 </WRAP> </WRAP>
  
-====== Pré-requis ======+===== Pré-requis =====
  
-====== Installation ======+===== Installation =====
  
   - **Mettez à jour** :<cli prompt='$ '>...@...:~$ sudo apt update</cli>   - **Mettez à jour** :<cli prompt='$ '>...@...:~$ sudo apt update</cli>
Ligne 78: Ligne 78:
 www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin</cli> www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin</cli>
 </WRAP> </WRAP>
-====== Configuration ====== 
  
-Le fichier de configuration du serveur est **[[logiciel:internet:ftp:vsftpd:config:start|]]**. +===== Configuration ===== 
-Voir la page de man **[[logiciel:internet:ftp:vsftpd:config:man:start|]]**+ 
 +Le fichier de configuration du serveur est **[[logiciel:internet:ftp:vsftpd:config:start]]**. 
 +Voir la page de man **[[logiciel:internet:ftp:vsftpd:config:man:start]]**
  
 <WRAP center round info 60%> <WRAP center round info 60%>
Ligne 97: Ligne 98:
     * Montez **/srv** :<cli prompt='$ '>...@...:~$ sudo mount /srv</cli>     * Montez **/srv** :<cli prompt='$ '>...@...:~$ sudo mount /srv</cli>
  
-===== Configuration par défaut ====+==== Configuration par défaut ====
  
 Éditez avec les droits d'administration le fichier **/etc/vsftpd.conf** pour ajouter à la fin les commandes suivantes. Éditez avec les droits d'administration le fichier **/etc/vsftpd.conf** pour ajouter à la fin les commandes suivantes.
  
-==== Commandes ====+=== Commandes ===
  
-  - **Fin du fichier exemple (à adapter)** :<code - /etc/vsftpd.conf>+Nous plaçons à la fin du fichier **/etc/vsftpd.conf** nos réglages par défaut : 
 +  - **Paramètres généraux** :<code - /etc/vsftpd.conf>
 ... ...
 ########## Paramètres personnalisés ########## ########## Paramètres personnalisés ##########
-listen=NO 
- 
-# Bannière de bienvenue 
 ftpd_banner=Bienvenue sur le serveur FTP de ... ftpd_banner=Bienvenue sur le serveur FTP de ...
  
-connexion et contrôle d'accès +un message apparaît chaque fois 
-   Pas d'accès anonymeque des utilisateurs locaux +# qu'un utilisateur ouvre un répertoire avec un fichier .message 
-   (dont les utilisateurs virtuels, mappés sur un utilisateur local+dirmessage_enable=YES 
-   les vrais utilisateurs locaux sont désactivés avec le fichier user_list + 
-anonymous_enable=NO +heure locale de l'ordinateur au lieu de l'heure GMT 
-local_enable=YES+use_localtime=YES 
 + 
 +# Nombre maximum de connexions simultanées 
 +#   Au-delàles nouveaux clients recevront un message du genre : 
 +#   "erreur: serveur occupé" 
 +max_clients=200 
 +# Nombre maximum de connexions venant de la même IP 
 +max_per_ip=4 
 + 
 +# journalisation des transferts 
 +xferlog_enable=YES 
 +</code> 
 +  - **Utilisateurs virtuels** :<code - /etc/vsftpd.conf> 
 +Activation des utilisateurs virtuels 
 +guest_enable=YES 
 +# nom de l'utilisateur (ftpsous lequel ils vont fonctionner 
 +  tous les utilisateurs virtuels -> utilisateur ftp avec son home /srv/ftp 
 +ftp_username=ftp 
 +guest_username=ftp 
 +nopriv_user=ftp
  
 # Fichier de config PAM # Fichier de config PAM
 pam_service_name=vsftpd pam_service_name=vsftpd
 +</code>
 +  - **Connexion et contrôle d'accès** :<code - /etc/vsftpd.conf>
 +# Pas d'accès anonyme, que des utilisateurs locaux
 +# (dont les utilisateurs virtuels, mappés sur un utilisateur local)
 +# les vrais utilisateurs locaux sont désactivés avec le fichier user_list
 +anonymous_enable=NO
 +local_enable=YES
  
-# Limitation des accès des utilisateurs 
 # On refuse les utilisateurs du fichier /etc/vsftpd.user_list # On refuse les utilisateurs du fichier /etc/vsftpd.user_list
 # un utilisateur par ligne # un utilisateur par ligne
Ligne 129: Ligne 152:
 userlist_file=/etc/vsftpd/user_list userlist_file=/etc/vsftpd/user_list
  
-compte de l'utilisateur local employé pour l'utilisateur FTP anonyme +Les utilisateurs locaux restent chez eux 
-ftp_username=ftp +chroot_local_user=YES 
 +allow_writeable_chroot=YES 
 +</code> 
 +  - **Permissions** :<code - /etc/vsftpd.conf>
 # Interdiction de toute action d'écriture : # Interdiction de toute action d'écriture :
 # On spécifiera les droits utilisateur par utilisateur. # On spécifiera les droits utilisateur par utilisateur.
 +write_enable=NO
 anon_mkdir_write_enable=NO anon_mkdir_write_enable=NO
 anon_other_write_enable=NO anon_other_write_enable=NO
 anon_upload_enable=NO anon_upload_enable=NO
 anon_world_readable_only=NO anon_world_readable_only=NO
- 
-# Un utilisateur virtuel peut télécharger un fichier public 
-anon_other_write_enable=NO 
  
 # droits par défaut des fichiers uploadés # droits par défaut des fichiers uploadés
Ligne 149: Ligne 172:
 chmod_enable=YES chmod_enable=YES
 virtual_use_local_privs=YES virtual_use_local_privs=YES
- 
-# Les utilisateurs locaux restent chez eux 
-chroot_local_user=YES 
-allow_writeable_chroot=YES 
- 
-# Activation de la configuration utilisateur par utilisateur 
-user_config_dir=/etc/vsftpd/user_conf 
- 
-# Activation des utilisateurs virtuels 
-guest_enable=YES 
-# nom de l'utilisateur (ftp) sous lequel ils vont fonctionner 
-#   tous les utilisateurs virtuels -> utilisateur ftp avec son home /srv/ftp 
-guest_username=ftp 
-nopriv_user=ftp 
- 
-# local_root 
-# local_umask 
- 
-# un message apparaît chaque fois 
-# qu'un utilisateur ouvre un répertoire avec un fichier .message 
-dirmessage_enable=YES 
- 
-# heure locale de l'ordinateur au lieu de l'heure GMT 
-use_localtime=YES 
- 
-# Téléchargement autorisé 
-# download_enable=YES 
  
 # On n’autorise pas les utilisateurs à se faire passer pour d’autres # On n’autorise pas les utilisateurs à se faire passer pour d’autres
Ligne 184: Ligne 180:
 hide_ids=YES hide_ids=YES
  
-Pas d'écriture +Activation de la configuration utilisateur par utilisateur 
-write_enable=NO +user_config_dir=/etc/vsftpd/user_conf
- +
-# Nombre maximum de connexions simultanées +
-#   Au-delà, les nouveaux clients recevront un message du genre : +
-#   "erreur: serveur occupé" +
-max_clients=200 +
-# Nombre maximum de connexions venant de la même IP +
-max_per_ip=4 +
- +
-# journalisation des transferts +
-xferlog_enable=YES+
 </code> </code>
-  - **Sécurisation des transmissions avec SSL/TLS** +  - **Sécurisation des transmissions avec SSL/TLS** :<code - /etc/vsftpd.conf
-    * Créez une clé privée de 2048 bits et un certificat autosigné valable 10 ans (la clé privée et le certificat sont enregistrés dans un même fichier) :<cli prompt='$ '>...@...:~$ sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem</cli+rsa_cert_file=/etc/ssl/private/vsftpd.pem
-    * Trouvez les directives rsa_cert_file et rsa_private_key_file, changez leurs valeurs pour le chemin du fichier pam et mettez la directive ssl_enable à YES :<code - >rsa_cert_file=/etc/ssl/private/vsftpd.pem+
 rsa_private_key_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem
 ssl_enable=YES ssl_enable=YES
-</code>+</code>après avoir créé la clé privée de 2048 bits et le certificat autosigné valable 10 ans (la clé privée et le certificat sont enregistrés dans un même fichier) :<cli prompt='$ '>...@...:~$ sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem</cli>
  
-===== Utilisateurs virtuels =====+==== Utilisateurs virtuels ====
  
 <WRAP center round info 60%> <WRAP center round info 60%>
Ligne 314: Ligne 299:
 </WRAP> </WRAP>
  
-===== Personnalisation pour chaque utilisateur =====+==== Personnalisation pour chaque utilisateur ====
  
 Par défaut les utilisateurs virtuels n'ont aucun droit. Par défaut les utilisateurs virtuels n'ont aucun droit.
Ligne 425: Ligne 410:
 Redémarrez le serveur pour valider les modifications :<cli prompt='$ '>...@...:~$ sudo systemctl restart vsftpd.service</cli> Redémarrez le serveur pour valider les modifications :<cli prompt='$ '>...@...:~$ sudo systemctl restart vsftpd.service</cli>
  
-===== Tests =====+==== Tests ====
  
   - **admin** :<cli prompt='$ '>...@...:~$ ftp localhost   - **admin** :<cli prompt='$ '>...@...:~$ ftp localhost
Ligne 482: Ligne 467:
     * ni en **anonyme**     * ni en **anonyme**
  
-===== Cinq exemples de configuration =====+==== Cinq exemples de configuration ====
  
 Voir la page [[logiciel:internet:ftp:vsftpd:exemples:start]] Voir la page [[logiciel:internet:ftp:vsftpd:exemples:start]]
  
-====== Utilisation ======+===== Utilisation =====
  
-===== Gestion du service =====+==== Gestion du service ====
  
 Via systemctl :<cli prompt='$ '>...@...:~$ sudo systemctl COMMANDE vsftpd</cli>Valeurs de COMMANDE : Via systemctl :<cli prompt='$ '>...@...:~$ sudo systemctl COMMANDE vsftpd</cli>Valeurs de COMMANDE :
-  start+  start
   : Démarrer le serveur   : Démarrer le serveur
-  stop+  stop
   : Arrêter le serveur   : Arrêter le serveur
-  restart+  restart
   : Redémarrer le serveur   : Redémarrer le serveur
-  status+  status
   : État du serveur   : État du serveur
  
-===== Se connecter en utilisant le serveur FTP comme un simple dossier =====+==== Se connecter en utilisant le serveur FTP comme un simple dossier ====
  
-==== Sous Ubuntu ====+=== Sous Ubuntu ===
  
   * Raccourcis (menu en haut)   * Raccourcis (menu en haut)
Ligne 517: Ligne 502:
 Ne pas oublier de se déconnecter (démonter) Ne pas oublier de se déconnecter (démonter)
  
-==== Sous Windows ====+=== Sous Windows ===
  
   * Double-clic sur Favoris réseau   * Double-clic sur Favoris réseau
Ligne 533: Ligne 518:
   * et ainsi accéder aux dossiers et fichiers qu'il contient dans la limite des droits accordés.   * et ainsi accéder aux dossiers et fichiers qu'il contient dans la limite des droits accordés.
  
-====== Désinstallation ======+===== Désinstallation =====
  
   - **Désinstallation partielle** : Pour désinstaller le serveur vsftpd, en gardant les fichiers de configuration :<cli>$ sudo apt-get remove vsftpd</cli>   - **Désinstallation partielle** : Pour désinstaller le serveur vsftpd, en gardant les fichiers de configuration :<cli>$ sudo apt-get remove vsftpd</cli>
Ligne 546: Ligne 531:
 </WRAP> </WRAP>
  
- +===== Voir aussi =====
- +
- +
-====== Voir aussi ======+
  
   * **(fr)** [[https://linuxize.com/post/how-to-setup-ftp-server-with-vsftpd-on-raspberry-pi/]]   * **(fr)** [[https://linuxize.com/post/how-to-setup-ftp-server-with-vsftpd-on-raspberry-pi/]]