Installation et utilisation du client Creuvux

________
Creuvard
www.creuvux.org, le
7 mai 2010

 

 

Table des matières

Chapitre 1
Présentation

La partie client de creuvux est un outil permettant de commenter, déposer (upload), télécharger (download) des fichiers sur un ou des serveurs distant de mannière sécurisée (Certificat X509 + SSL). Chaque utilisateur de creuvux peut faire partie de un ou plusieurs groupe (Ex : groupe Linux, groupe BSD). Chaque membre du groupe aura acces aux fichiers de ce groupe. Chaque fichier peux être mis dans une catégorie (Documents, LiveCD, Musique, Videos ...). De plus vous pouvez réagir en laissant vos commentaires concernant tel ou tel fichier. Creuvux permet également de déposer des fichiers qui ne seront accessible qu’a tel ou tel personne (dans le cas d’une sauvegarde, on prendra soin lors du dépot à donner le bon pseudo de destination). Lors du téléchargement d’un fichier, il est possible que ce fichier soit disponible sur différents serveurs, dans ce cas, chaque serveur sera solicité en fonction du débit qu’il aloue.

Chapitre 2
Dépendances

Avant d’aller plus loin, certaines dépendances doivent être installées sur votre machines. Elles sont au nombres de quatre (openssl libxml2 et libxslt et zlib) si vous souhaitez installer la version console, ou cinq (Glib et Gtk+2 en plus) si vous souhaitez la version graphique. L’outil Wget est également nécéssaire, il est utilisé dans le script d’initialisation de creuvux. L’installation de ces dépandances n’est pas décrite dans ce document, référez vous au manuel de votre Os/Distribution pour leur installation.

2.1 Glib

XGLib est une bibliothèque libre portable.

 

2.2 Gtk+

XGTK+ (The GIMP Toolkit) est un ensemble de bibliothèques logicielles, c’est-à-dire un ensemble de fonctions informatiques, permettant de réaliser des interfaces graphiques.

 

2.3 OpenSSL

OpenSSL est une boite à outils de chiffrement comportant une bibliothèque implémentant le protocole SSL et TLS, ainsi qu’une commande en ligne.

 

2.4 libxml2

XML est un langage de description de documents utilisé par creuvux (Client et Serveur).

 

2.5 libxslt

XSLT est l’abréviation de Extensible Stylesheet Language Transformation. C’est un langage de programmation qui sert à transformer des documents XML dans divers formats.

 

2.6 zlib

Xzlib est une bibliothèque logicielle de compression de données. Elle implémente l’algorithme de compression deflate et peut créer des fichiers au format gzip. Cette bibliothèque est très largement utilisée, grâce à sa taille réduite, son efficacité et sa souplesse d’utilisation.

Chapitre 3
Installation

Bien que les sources soit compilable et utilisable sous windows grace à Cygwin, l’installation sous windows n’est pas documenté pour le momment.

3.1 Installation sous *BSD, Linux, Unixoïde

Sous un Os de type Unixoïde, l’instalation nécéssite la compilation depuis les sources, aucune version binaire n’est encore proposée.

 

3.1.1 Récupération des sources

La première étape conciste à récupérer la dernière archive disponible.

 

3.1.2 Compilation, installation

La compilation et l’installation se font de mannière classique. Voici la procédure à suivre.

tar xvzf creuvux-0.72.tar.gz
cd creuvux-0.72
./configure
make
sudo make install
exit

 

3.1.3 Configuration

Le client est maintenant installé. Afin de fonctionner correctement, il à besoin d’un répertoire de travail contenant les fichiers nécéssaires (fichier de configuration, certificat, liste des serveurs). La commande creuvuxinit construit l’environnement nécéssaire au bon fonctionnement du client (Le script nécéssite BASH, sinon une simple lecture du script devrait vous débloquer).

creuvuxinit

Chapitre 4
Utilisation

Deux modes de fonctionnement sont disponible, une utilisation graphique (Gtk) et une utilisation console.

4.1 Utilisation en mode graphique

Vous pouvez maintenant lancer l’utilitaire gcreuvux depuis une console xterm (Dos, aterm, Eterm ...). Sont utilisation est assez intuitive, je ne m’étends pas dessus ici. Vous pouvez tout de même regarder la vidéohttp://www.creuvux.org/gallerie/gallerie.php.

 

4.2 Utilisation en mode console

Ouvrez une console xterm (Dos, aterm, Eterm , mrxvt...) et lancer la commande creuvux. Vous trouverez ci-dessous le résultat de la commande help sous creuvux.

Les commandes sont les suivantes :

  • "help" Affiche l’aide.
  • "sync" génère une liste de tous les fichiers disponibles sur l’emsemble des serveurs (les serveurs sont listés dans le fichier /home/votre_user/creuvux/serveur_liste).
  • "ls" ou "list" affiche la liste des fichiers disponibles.
  • "get id" télécharge le fichier référencé par son identifiant (Ex : "get 3").
  • "info id" Affiche les informations du fichier référencé pas son identifiant <id> (Ex : "info 3").
  • "put /path/to/file.ext" Upload le fichier file.ext (Vous devrez sélectionner le serveur sur lequel le fichier sera uploadé, sinon vous devrez compléter le fichier creuvux.conf afin de toujours uploader sur tel ou tel serveur en renseignant le paramètre CREUVUX_SRV="domain.org :port").
  • "find mot_clef" Recherche dans le titre des fichier le mot clef (sans respect de la casse).
  • "msg id" Envoie d’un commentaire (que vous devrez remplir).
  • "lscat" Permet d’afficher la liste des fichiers contenus dans une catégorie (que vous aurrez sélectionné).
  • "lsgrp" Permet d’afficher la liste des fichiers contenus dans un groupe (que vous aurrez sélectionné).
  • "diff" Compare la liste des fichiers avec la dernière synchronisation et affiche les différences.
  • "quit" ou "exit" quitte le client.

Le client creuvux à deux modes d’execution. Le premier est interactif, il se lance avec la commande creuvux. Le second à l’aide de l’argument -c suivi du nom de la fonction à executer.

Voici deux exemples de la même commande lancé avec les deux méthodes.
Mode interactif :

(creuvard@testbox)$ creuvux
- Creuvux v0.72 -

Enter command (help for print help) : sync
Listing reception on ’creuvux.org’ is running ...
-> ’creuvux.org :1664’ Done
Sync done

Enter command (help for print help) :

Mode script :

(creuvard@testbox)$ creuvux -c sync
Enter command (help for print help) : sync
Listing reception on ’creuvux.org’ is running ...
-> ’creuvux.org :1664’ Done
Sync done
(creuvard@testbox)$

Voici quelques exemples de commandes :

creuvux -c sync
creuvux -c get 2
creuvux -c put /media/musique/fichier.ogg

Chapitre 5
Les certificats

On en a brièvement parlé plus haut, les certificats sont utilisé lor de la connection sur les serveurs. C’est grace au certificat que les serveurs nous authentifie, cela permet au serveur de connaitre notre pseudo ainsi que les groupes auxquels on appartient. Avec l’installation par défaut, le certificat téléchargé ne permet pas un acces personnalisé, cela n’est pas son but. Le but de l’installation par défaut permet juste de se faire une idée sur le fonctionnement global de creuvux. Si vous souhaitez avoir un acces personnalisé, afin de créer votre propre groupe et de partager des données de mannière sécurisées avec les membres de ce groupe, alors il vous faut un certificat à votre nom (ou pseudo). Dans les deux méthodes qui suivent l’adresse mail à utiliser est cert-request@creuvux.org.

5.1 Demande de certificat 1re Méthode

Cette méthode est la plus simple. Elle consiste à faire la demande de certificat directement au gestionnaire du réseau par mail. C’est le gestionnaire des certificats qui s’occupera de vous renvoyer uniquement les deux fichiers nécessaire ainsi que votre mot de passe. Les fichiers client.pem et rootcert.pem devront être placés dans le répertoire /home/votre_user/creuvux/, et le mot de passe devra être renseigné dans le fichier de configuration creuvux.conf avec le parametre CREUVUX_PWD="Votre nouveau mot de passe".

 

5.2 Demande de certificat 2e Méthode

Cette méthode est un peu plus complexe, mais à pour avantage que vous choisissez vous-même votre mot de passe. Vous allez être ammené à générer vous même votre clef privé ainsi que votre requette, puis transmettre votre requette au gestionnaire des certificats. Le gestionnaire vous renverra alors votre certificat signé (clientcert.pem), ainsi que le certificat du réseau (rootcert.pem).

 

5.2.1 Génération de la clef privé et de la requette

Dans le répertoire /home/votre_user/creuvux/, se trouve un répertoire cert. Dans ce répertoire se trouve un fichier nommé creuvux.cnf qui va vous aidez à génerer votre clef privé et votre requette. Ne perdez pas le mot de passe que vous entrez, car il faudra ensuite le renseigner dans le fichier creuvux.conf.

Voici la commande :

cd /home/votre_user/creuvux/cert
openssl req -newkey rsa :1024 -keyout clientkey.pem -keyform PEM -out clientreq.pem -outform PEM -config creuvux.cnf

Le fichier clientreq.pem devra être transmis par mail au gestionnaire des certificats afin qu’il vous renvoie un certificat signé nommé clientcert.pem et le certificat du réseau rootcert.pem.

 

5.2.2 Création du fichier client.pem

Une fois le certificat en main, vous pouvez créer le fichier client.pem qui servira à creuvux. Ce fichier est en faite une concaténation de votre certificat, de votre clef privé ainsi que du certificat du réseau.

cd /home/votre_user/creuvux/cert
cat clientcert.pem clientkey.pem rootcert.pem > client.pem

Une fois ce fichier créé, vous devez déposer les fichiers client.pem et rootcert.pem dans votre répertoire /home/votre_user/creuvux à la place des anciens.

 

5.2.3 Modification du fichier creuvux.conf

Voici la dernière étapes de la procédure, vous devez éditer le fichier creuvux.conf afin de remplacer l’ancien mot de passe par le nouveau (celui que vous avez entrez pour générer votre clef privé)) dans le parametre CREUVUX_PWD="Votre nouveau mot de passe"

 
Design by Creuvux's team.