Archive

Articles taggués ‘FTP’

Pure-FTPd et MySQL

Le logiciel Pure-FPure-FTPd LogoTPd est l’un des serveurs FTP les plus simple à installer et configurer c’est pourquoi si vous cherchez à installer un serveur FTP rapidement sur votre serveur Linux, je ne peux que vous le recommander.
Aujourd’hui, nous allons voir comment utiliser Pure-FTPd et MySQL simultanément pour permettre la séparation des tâches avec l’enregistrement des comptes utilisateurs dans le SGBDR et le reste du fonctionnement du serveur FTP gérer par Pure-FTPd. Le but du tutoriel n’étant pas de vous apprendre à installer et manipuler MySQL, je pars du principe que ce dernier est installé sur la même machine (ou une machine distante) que votre serveur FTP et que vous avez soit PHPMyAdmin sous la main ou le client MySQL en ligne de commande pour la partie traitant des manipulations sur la base de donnée.

Installation du serveur Pure-FTPd-mysql

Pour utiliser MySQL avec votre serveur de FTP, il faut que ce dernier ai été compilé avec la commande « –with-mysql« . Heureusement pour nous, plutôt que de ce compliquer la vie à compiler les sources du serveur, nous allons directement installer le paquet tout prêt à l’usage nommé : pure-ftpd-mysql.
Même si on vous conseil d’installer « pure-ftpd » ou même qu’on vous demande de le désinstaller si vous l’avez déjà installé, dite oui pour continuer l’installation.

sudo apt-get install pure-ftpd-mysql

Note : Si vous avez votre serveur FTP déjà en cours de production, l’installation de cette version ne perturbera en rien vos utilisateurs et vous pouvez continuer la suite de ce tutoriel puisque le redémarrage ne sera nécessaire qu’a la fin.

Création de la Base de donnée

A partir de votre interface PHPMyAdmin ou le client MySQL, vous allez créer un utilisateur ainsi qu’une base de donnée associé à ce compte.

Création d’un compte utilisateur en requête SQL.

CREATE USER `pureftpd` identified by `pwdftp`;

Création de la base de donnée et une table qui servira à contenir les comptes utilisateurs.

CREATE DATABASE `pureftpd`;

Association du compte utilisateur « pureftpd » avec la table « users » en lui attribuant les droits de lecture, écriture, mise à jour et suppression.

GRANT SELECT, INSERT, UPDATE, DELETE ON `*.pureftpd` TO `pureftpd`;

Création de la table où les utilisateurs seront enregistré.

CREATE TABLE `users` (
 `Id` int(11) NOT NULL auto_increment,
 `User` varchar(32) NOT NULL default '',
 `Password` varchar(64) NOT NULL default '',
 `Uid` int(3) NOT NULL default '33',
 `Gid` int(3) NOT NULL default '33',
 `Dir` varchar(255) NOT NULL default '',
 `QuotaTaille` int(4) NOT NULL default '250',
 `ULBandePassante` int(2) NOT NULL default '10',
 `DLBandePassante` int(2) NOT NULL default '10',
 PRIMARY KEY  (`ID`),
 UNIQUE KEY `User` (`User`)
);

Avant de poursuivre, voici quelques informations sur la table et plus particulièrement sur ces champs.
Id : est un identifiant unique qui s’incrémente automatiquement à chaque insertion d’une ligne.
User : est l’identifiant qui sera utilisé lors d’une connexion.
Password : est le mot de passe affiché en clair. Aucune méthode de cryptage n’est appliqué !
Uid : C’est un entier qui permet d’identifier un compte utilisateur créer sur votre serveur Linux. J’ai mit le 33 en nombre par défaut car il s’agit de l’utilisateur « www-data » qui est automatiquement créer lorsque vous installez votre serveur Apache. Pour connaître le numéro des groupes, affichez le fichier /etc/passwd et cherchez une ligne ressemblant à « www-data:x:33:33:www-data:/var/www:/bin/sh« .
Gid : C’est le même principe que précédemment à savoir le groupe utilisateur qui sera associé aux fichiers lorsqu’une connexion FTP sera ouverte. Pour connaître les groupes utilisateurs vous pouvez soit chercher dans le fichier /etc/group ou alors vous les trouverez également comme dans le fichier précédent à savoir 33:33 où le premier nombre est le Uid et le second le Gid.
Dir : Il s’agit du chemin absolut vers lequel le client sera en mesure d’écrire. Veuillez à ce qu’il est les droits en écriture dans ce dossier au moins. De plus lorsque vous indiquez le chemin dans votre requête SQL Insert, veuillez à bien faire comme ceci : /chemin/dossier/puis/nom/dossier/ avec le / marquant bien la fin du chemin sinon des erreurs surviendront lors de la connexion au serveur.
QuotaTaille : permet de fixer une limite pour le compte de l’utilisateur qu’il ne pourra dépasser. Cette limite est exprimé en Mo et pour informations, 1Go = 1024 Mo.
ULBandePassante : Ce paramètre exprimé en Ko/s permet de définir la bande passante maximale en Upload (transfert du client au serveur) pouvant être atteinte par le client. Si vous mettez 0, cela sera considéré comme n’ayant aucune limite.
DLBandePassante : Ce paramètre exprimé en Ko/s permet de définir la bande passante maximale en Download (transfert du serveur au client) pouvant être atteinte par le client. Si vous mettez 0, cela sera considéré comme n’ayant aucune limite.

Les Fichiers de configuration de Pure-FTPd

Tous les fichiers concernant le serveur FTP se trouvent dans /etc/pure-ftpd/, les fichiers de configuration sont dans le dossier « conf » et le fichier concernant la base de donnée est dans « db« .

Interdire les connexions anonyme
Pour interdire les connexions en anonyme, éditez le fichier /etc/pure-ftpd/conf/NoAnonymous et écrivez ou remplacez le « yes » présent par simplement par « no« .

Indiquer le chemin du fichier de configuration
Dans le dossier « conf« , éditez le fichier MySQLConfigFile pour mettre le chemin du fichier de configuration que nous allons créer : /etc/pure-ftpd/db/pure-ftpd-mysql.conf

Créer le fichier de configuration MySQL
Maintenant nous allons créer le fichier de configuration /etc/pure-ftpd/db/pure-ftpd-mysql.conf qui sera utilisé pour indiquer les informations de connexion entre le serveur FTP et MySQL.

#Parametres de connexion a la base de donnee
MYSQLServer 127.0.0.1
MYSQLUser pureftpd
MYSQLPassword pwdftp
MYSQLDatabase pureftpd

#Parametres supplementaires
MYSQLPort 3306
MYSQLSocket /var/lib/mysql/mysql.sock

# Methode de cryptage du mot de passe
# Parametres possible : 'crypt', 'md5' ou 'cleartext' pour afficher le mot de passe en clair.
MYSQLCrypt cleartext

# Requetes SQL permettant a Pure-FTPd de trouver les donnees dans la base
MYSQLGetPW SELECT Password FROM users WHERE User="\L"
MYSQLGetUID SELECT Uid FROM users WHERE User="\L"
MYSQLGetGID SELECT Gid FROM users WHERE User="\L"
MYSQLGetDir SELECT Dir FROM users WHERE User="\L"
MySQLGetQTASZ SELECT QuotaSize FROM users WHERE User="\L"
MySQLGetRatioUL SELECT ULRatio FROM users WHERE User="\L"
MySQLGetRatioDL SELECT DLRatio FROM users WHERE User="\L"
MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User="\L"
MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User="\L"

Pour plus d’informations sur les différentes lignes et celle que je n’ai pas mise car je les considérais inutiles pour le cas présent, rendez-vous dans la doc de Pure-FTPd !

Démarrer votre serveur FTP

Pour démarrer votre serveur FTP, il vous suffira d’entrer les lignes suivante pour démarrer votre serveur en tâche de fond.

/usr/sbin/pure-ftpd-mysql -l mysql:/etc/pure-ftpd/db/pure-ftpd-mysql.conf &

Vous pouvez modifier le fichier /etc/init.d/pure-ftpd-mysql si vous souhaitez exécuter à chaque démarrage votre serveur avec MySQL.

En savoir plus

Comprendre la gestion des utilisateurs sous Linux : http://hawkcreation.com/2009/03/16/le-droit-selon-linux/
Utilisation du client FTP FileZilla : http://hawkcreation.com/2009/03/16/filezilla/
Documentation Ubuntu pour installer un serveur Pure-FTPd : http://doc.ubuntu-fr.org/pure-ftp

`
Share on Facebook
Categories: Tutoriels Tags: , ,

FileZilla

25935_filezilla

FileZilla est un logiciel ftp permettant le transfert de fichier entre un ordinateur et un serveur ftp via un réseau local ou une connexion Internet. On pourrait dire que c’est l’explorateur de Windows en version un peu plus sophistiqué.
FileZilla est un logiciel libre et multiplate-forme depuis sa version 3. Et donc pour les petits malins qui souhaiteraient voir comment il fonctionne seront comblé.

Téléchargement

Pour télécharger FileZilla, il vous suffit de vous rendre sur le site de l’éditeur et de choisir la version correspondant à votre plateforme. Pour les Linuxiens, vous avez juste à ouvrir votre fameux gestionnaire d’applications et chercher le logiciel directement par cet intermédiaire.

L’interface

capture-filezillanew

L’interface est composé d’un icône permettant l’accès au gestionnaire des sites web (A). Une barre de connexion rapide (B) servira à se connecter sur un serveur ftp sans passer par ce gestionnaire. Un journal des messages (C) émis entre le serveur et vous permettra de prendre connaissance des possibles erreurs émise par le serveur. Pour connaître l’avancement des transferts de fichier, une fenêtre montrant l’état de la liste des fichiers (H) est présente. Ce qui nous intéresse plus particulièrement ce sont les fenêtre d’arborescence locale (D), distant (E) vous permettant de naviguer dans l’immense océan de répertoires de vos disques ou sur votre serveur ftp. Les fenêtres (F) et (G) permettent d’afficher le contenu des répertoires sélectionné.

Connexion

capture-gestionnaire-de-sitesPour vous connecter à un serveur ftp, vous pouvez soit passer par la connexion rapide ou bien utiliser comme ici le gestionnaire de site afin de stocker définitivement les données de connexion.

Commencez par ajouter un nouveau site en cliquant sur Nouveau Site. Une fois cela fait, renseignez l’hôte qui est l’adresse ip du serveur, changez le port si on vous le demande sinon laissez vide. FileZilla utilisera le port par défaut des logiciels ftp qui est le port 21. Après cela, choisissez le type de serveur auquel vous souhaitez vous connecter en sachant que le plus courant est FTP, les autres étant des dérivés comme le FTPS qui utilise le ssh pour être plus sécurisé. Le type d’authentification est généralement Normale où vous devrez indiquer votre login et votre mot de passe.

Une fois tous les champs renseigné correctement, il ne vous reste plus qu’a cliquer sur Connexion cela sauvegardera votre site et commencera la connexion avec le serveur.

Attributs des fichiers

Il est parfois nécessaire de modifier les droits d’accès pour autoriser par exemple l’écriture dans un dossier ou pour x autres raisons. La gestion de ces droits est en faite la même que sous Linux.
Pour modifier les droits d’un fichier, il vous suffit de cliquer droit sur ce dernier, et sélection Changer Attributs et une fenêtre comme ci-dessous apparaîtra.

filezilla_modifierattributs

Après vous définissez à loisir les options pour le propriétaire, le groupe et les permissions publics.

En savoir plus

Site officiel : http://www.filezilla.fr
Téléchargement : http://filezilla-project.org/download.php?type=client

Share on Facebook
Categories: Tutoriels Tags: , ,

WinSCP, l’explorateur SSH

16/03/2009 Romain Comments off

winscp

WinSCP est un logiciel OpenSource du type SFTP permettant le transfert sécurisé de fichier entre deux ordinateurs par connexion SSH. Ce logiciel n’est disponible que sous Windows mais heureusement, Linux n’a pas dit son dernier mot !

winscp_loginLa connexion se fait comme en ssh, vous indiquez l’IP, le login sous lequel vous souhaitez vous connecter ainsi que sont mot de passe et c’est tout.

winscp_windowAprès quoi vous pouvez le voir, il s’agit d’un explorateur qui vous permet de naviguer dans vos fichiers sans avoir eu besoin d’installer un accès FTP.

Et Linux ?

Les screens ci-dessus sont tiré de la version Linux. Enfin plutôt de la version Windows émulé avec succès par Wine. Aucun soucis donc pour ceux qui tourne uniquement sous Linux.

En savoir plus

Site officiel : http://winscp.net
Page de téléchargement : http://winscp.net/eng/download.php

Share on Facebook
Categories: Tutoriels Tags: , , , ,