proftp
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
proftp [2022/10/11 07:27] – [Installation] admin | 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:// | ||
</ | </ | ||
- | + | ===== Fichiers de configuration ===== | |
- | L' | + | Les principaux fichiers sont situés |
- | apt install proftpd</ | + | |
- | + | ||
- | ==== 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 29: | 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 88: | 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 137: | 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 154: | Ligne 192: | ||
- Redémarrer le service //proftpd// | - Redémarrer le service //proftpd// | ||
</ | </ | ||
- | |||
- | |||
- | ==== Prise en charge de l' | ||
- | |||
- | ProFTP peut être complété par un module de gestion de la prise en charge de l' | ||
- | On procèdera aux paramétrages ci-dessous dans les fichiers correspondant. | ||
- | |||
- | === Fichier proftpd.conf === | ||
- | |||
- | Dans ce fichier, on se contente d' | ||
- | <code apache> | ||
- | #Include / | ||
- | Include / | ||
- | </ | ||
- | |||
- | === Fichier modules.conf === | ||
- | |||
- | Le fichier indique les modules à charger parmi ceux présents dans le dossier /// | ||
- | Dans le cas de l' | ||
- | <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 | ||
- | </ | ||
- | |||
- | === Fichier sql.conf === | ||
- | |||
- | 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 (utilisateurs, | ||
- | 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 les comptes d' | ||
- | # | ||
- | SQLGroupInfo ftpgroup groupname gid members # | ||
- | SQLLogFile / | ||
- | </ | ||
- | </ | ||
- | |||
- | 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 250: | 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 === |
proftp.1665473230.txt.gz · Dernière modification : 2022/10/11 07:27 de admin