Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| proftp [2020/10/02 09:58] – créée - modification externe 127.0.0.1 | proftp [2022/10/11 07:35] (Version actuelle) – ancienne révision (2022/10/11 07:31) restaurée admin | ||
|---|---|---|---|
| Ligne 9: | Ligne 9: | ||
| - Vérifier le fonctionnement à partir d'un navigateur (ou d'un client FTP, port 21) : [[ftp:// | - Vérifier le fonctionnement à partir d'un navigateur (ou d'un client FTP, port 21) : [[ftp:// | ||
| </ | </ | ||
| - | ==== Configuration avec MySQL pour l' | + | ===== Fichiers |
| - | <WRAP left round box 75%> | + | Les principaux fichiers sont situés |
| - | - Si besoin, procéder à l' | + | |
| - | - Installer le paquetage de // | + | |
| - | - Créer la base pour //proftpd// sous MySQL, les tables // | + | |
| - | - Insérer dans la table //ftpuser// le compte de connexion de l' | + | |
| - | - Configurer le fichier // | + | |
| - | - Appeler // | + | |
| - | - Demander à charger les modules //sql// et //mysql// dans le fichier // | + | |
| - | - Redémarrer le service // | + | |
| - | </ | + | |
| - | + | ||
| - | ==== Configuration | + | |
| - | Les principaux fichiers sont (dans / | + | |
| ^Fichier ^Usage ^ | ^Fichier ^Usage ^ | ||
| - | |proftpd.conf |Définit les principales caractéristiques techniques du service FTP : nom de la machine vu sur le réseau, durée de session, nombre de connexions simultanées, | + | ^proftpd.conf |Définit les principales caractéristiques techniques du service FTP : nom de la machine vu sur le réseau, durée de session, nombre de connexions simultanées, |
| - | |sql.conf |Définit les options pour la mise en relation avec une base de données (MySQL ou PostGreSQL) : SGBD, mode d' | + | ^sql.conf |Définit les options pour la mise en relation avec une base de données (MySQL ou PostGreSQL) : SGBD, mode d' |
| - | |ldap.conf |Définit les options de connexion à un annuaire par le protocole LDAP : nom de connexion, domaine, localisation du serveur, etc | | + | ^ldap.conf |Définit les options de connexion à un annuaire par le protocole LDAP : nom de connexion, domaine, localisation du serveur, etc | |
| - | |tls.conf |Définit les options de configuration pour l' | + | ^tls.conf |Définit les options de configuration pour l' |
| - | |modules.conf |Précise les modules à charger lors du démarrage du service : base de données, sécurité, quotas, etc | | + | ^modules.conf |Précise les modules à charger lors du démarrage du service : base de données, sécurité, quotas, etc | |
| - | |virtuals.conf |Gestion d' | + | ^virtuals.conf |Gestion d' |
| Ligne 37: | Ligne 25: | ||
| Le monde libre propose de multiples déclinaisons du protocole FTP sous forme de services : wuFTP, ProFTP, vsFTP… | Le monde libre propose de multiples déclinaisons du protocole FTP sous forme de services : wuFTP, ProFTP, vsFTP… | ||
| Nous étudierons ici les grandes lignes de ProFTP qui a la réputation d' | Nous étudierons ici les grandes lignes de ProFTP qui a la réputation d' | ||
| + | |||
| + | L' | ||
| + | apt install proftpd</ | ||
| + | |||
| ==== Configuration de base ==== | ==== Configuration de base ==== | ||
| Ligne 96: | Ligne 88: | ||
| === Attribution de droits === | === Attribution de droits === | ||
| - | La limitation des droits d' | + | La limitation des droits d' |
| <code apache> | <code apache> | ||
| <Limit liste_actions> | <Limit liste_actions> | ||
| Ligne 145: | Ligne 137: | ||
| </ | </ | ||
| + | ===== Client FTP ===== | ||
| + | |||
| + | L' | ||
| + | * le navigateur internet, qui est généralement limité à la récupération de contenu (mais IE permet l' | ||
| + | * un client avec interface graphique : type Filezilla | ||
| + | * la ligne de commande (ou du script) | ||
| + | * des fonctions de langage de programmation : voir par exemple ici pour PHP. | ||
| + | |||
| + | ==== Connexion avec un serveur ==== | ||
| + | |||
| + | La connexion à un serveur utilise les éléments suivants : [utilisateur [:motpasse] @] adresse [:port]. | ||
| + | Exemples : | ||
| + | ftp:// | ||
| + | | ||
| + | | ||
| + | |||
| + | ==== Eléments de la ligne de commande FTP ==== | ||
| + | (voir plus de possibilités sur comment ça marche) | ||
| + | ^ Commande | ||
| + | |ftp |Passe en mode ligne de commande et réalise éventuellement la connexion ftp | <code lscript> | ||
| + | ftp monCompte@192.168.0.152 </ | ||
| + | |open |Ouvre une connexion avec un serveur | <code lscript> | ||
| + | |ls | Liste le contenu d'un dossier ls | ||
| + | |pwd | (Print Working Directory) \\ | ||
| + | |mkd / rmd | Crée / Supprime un dossier | | ||
| + | |put / get | Envoie / Récupère un document | | ||
| + | put fichierChezMoi | ||
| + | //envoie le fichier et le renomme | ||
| + | put fich1 fich2 | ||
| + | // récupère le fichier du serveur | ||
| + | get fichierDistant | ||
| + | // | ||
| + | get ficDist ficLoc</ | ||
| + | | ! |Exécute une commande sur la machine locale |<code lscript>// | ||
| + | !cd .. | ||
| + | ///crée un dossier en local | ||
| + | !md nomDossier | ||
| + | |||
| ===== PROFTP et authentification déportée ===== | ===== PROFTP et authentification déportée ===== | ||
| Ligne 151: | Ligne 181: | ||
| Pour ce faire, on devra activer certains modules et renseigner certains paramètres dans les fichiers de configuration, | Pour ce faire, on devra activer certains modules et renseigner certains paramètres dans les fichiers de configuration, | ||
| - | ==== Prise en charge de l' | + | ==== Configuration avec MySQL pour l' |
| - | + | <WRAP left round box 75%> | |
| - | ProFTP peut être complété par un module de gestion de la prise en charge de l'authentification par une base de données. Pour MySQL, on installera | + | - Si besoin, procéder à l'installation |
| - | On procèdera aux paramétrages ci-dessous dans les fichiers correspondant. | + | - Installer |
| - | + | - Créer la base pour //proftpd// sous MySQL, les tables | |
| - | === Fichier | + | - Insérer |
| - | + | | |
| - | Dans ce fichier, on se contente d' | + | |
| - | <code apache> | + | - Demander |
| - | # | + | - Redémarrer le service //proftpd// |
| - | Include | + | </WRAP><WRAP clear/> |
| - | </ | + | |
| - | + | ||
| - | === Fichier modules.conf === | + | |
| - | + | ||
| - | Le fichier indique les modules à charger parmi ceux présents | + | |
| - | Dans le cas de l'utilisation d'une base de données MySQL, on dé-commentera les lignes suivantes : | + | |
| - | <code apache> | + | |
| - | LoadModule mod_sql.c # prise en charge de l' | + | |
| - | LoadModule mod_sql_mysql.c # nom du SGBD avec lequel on est en contact | + | |
| - | </code> | + | |
| - | + | ||
| - | === Fichier | + | |
| - | + | ||
| - | C'est ici qu'on décrira le type d' | + | |
| - | <code apache> | + | |
| - | < | + | |
| - | SQLBackend mysql # nom du SGBD qui contient les tables des comptes | + | |
| - | #SQLEngine on | + | |
| - | SQLAuthenticate users* groups* # indique le niveau de droits | + | |
| - | SQLAuthTypes Crypt Plaintext # mode de gestion des mots de passe crypté et/ou en clair | + | |
| - | # | + | |
| - | SQLConnectInfo proftpDB@localhost root mproot # base, serveur et coordonnées d'un compte MySQL (à adapter) | + | |
| - | SQLUserInfo ftpuser userid passwd uid gid homedir shell # table contenant | + | |
| - | # | + | |
| - | SQLGroupInfo ftpgroup groupname gid members #table/champs étudiés pour groupes | + | |
| - | SQLLogFile | + | |
| - | </IfModule> | + | |
| - | </code> | + | |
| - | + | ||
| - | Voir plus loin pour les éléments de création d’une base MySql pour cette configuration. | + | |
| ==== Prise en charge de l' | ==== Prise en charge de l' | ||
| Ligne 245: | Ligne 245: | ||
| </ | </ | ||
| - | ===== Client FTP ===== | + | ==== Prise en charge de l' |
| - | L' | + | ProFTP peut être complété |
| - | * le navigateur internet, qui est généralement limité à la récupération | + | On procèdera aux paramétrages ci-dessous dans les fichiers correspondant. |
| - | | + | |
| - | | + | |
| - | * des fonctions de langage de programmation : voir par exemple ici pour PHP. | + | |
| + | === Fichier proftpd.conf === | ||
| - | ==== Connexion avec un serveur | + | Dans ce fichier, on se contente d' |
| + | <code apache> | ||
| + | #Include / | ||
| + | Include / | ||
| + | </ | ||
| - | La connexion à un serveur utilise les éléments suivants : [utilisateur [:motpasse] @] adresse [:port]. | + | === Fichier modules.conf === |
| - | Exemples : | + | |
| - | ftp:// | + | |
| - | | + | |
| - | | + | |
| - | ==== Eléments | + | Le fichier indique les modules à charger parmi ceux présents dans le dossier /// |
| - | (voir plus de possibilités sur comment ça marche) | + | Dans le cas de l' |
| - | ^ Commande | + | < |
| - | |ftp |Passe en mode ligne de commande et réalise éventuellement la connexion ftp | | + | LoadModule mod_sql.c # prise en charge de l' |
| - | ftp monCompte@192.168.0.152 | + | LoadModule mod_sql_mysql.c # nom du SGBD avec lequel on est en contact |
| - | |open |Ouvre une connexion avec un serveur | <code lscript> | + | </ |
| - | |ls | Liste le contenu | + | |
| - | |pwd | (Print Working Directory) \\ Affiche le dossier courant | + | === Fichier sql.conf === |
| - | |mkd / rmd | Crée / Supprime un dossier | | + | |
| - | |put / get | Envoie / Récupère | + | C'est ici qu'on décrira |
| - | put fichierChezMoi | + | < |
| - | //envoie le fichier | + | <IfModule mod_sql.c> # paramétrage utilisé si le module SQL est activé |
| - | put fich1 fich2 | + | SQLBackend mysql # nom du SGBD qui contient les tables des comptes |
| - | // récupère le fichier du serveur | + | #SQLEngine on |
| - | get fichierDistant | + | SQLAuthenticate users* groups* # indique le niveau de droits |
| - | //récupère le fichier et le renomme | + | SQLAuthTypes Crypt Plaintext # mode de gestion des mots de passe crypté et/ou en clair |
| - | get ficDist ficLoc</code> | | + | # |
| - | | ! |Exécute une commande sur la machine locale |< | + | SQLConnectInfo proftpDB@localhost root mproot # base, serveur et coordonnées d'un compte MySQL (à adapter) |
| - | !cd .. | + | SQLUserInfo ftpuser userid passwd uid gid homedir shell # table contenant les comptes d' |
| - | ///crée un dossier en local | + | # |
| - | !md nomDossier | + | SQLGroupInfo ftpgroup groupname gid members #table/champs étudiés pour groupes |
| - | + | SQLLogFile | |
| + | </IfModule> | ||
| + | </code> | ||
| + | |||
| + | Voir ci-dessous pour les éléments de création d’une base MySql pour cette configuration. | ||
| === Annexe === | === Annexe === | ||