MANUEL
Nom du fichier binaire : roxftpd


Syntaxe :

roxftpd PORT


Description :

Le serveur roxftpd permet le transfert de fichiers, utilisant le protocole FTP. Il a été conçu pour le transfert de données à grande vitesse. En effet, il s'avère après une série de tests, que ce serveur soit plus rapide que certains serveurs de référence, tels que GLftpd ou PROftpd ; deux serveurs dont ils reprend les avantages. Ce serveur permet l'utilisation de fonctions de transfert avancées, telles que le mode PASSIVE ou FXP (pour le transfert de serveur à serveur), le resuming, etc. De plus il permet une administration poussée des utilisateurs : filtrage d'IP, gestion des ratios, des idents, etc.

L'argument PORT est indispensable : ce doit être un nombre, et il indique le port que le serveur va utiliser ; donc le port sur lequel devront se connecter les utilisateurs.

Tous les utilisateurs ayant le droit d'utiliser des sockets sous linux peuvent lancer le serveur roxftpd, cependant, seuls les administrateurs (root) du système ont accès au port par défaut d'un serveur FTP, le 21.

Il est aussi à noter que tous les fichiers uploadés sur le serveur ont pour propriétaire au niveau du système l'utilisateur qui a lancé le serveur.


L'installation:

Si vous avez la version .tar.gz:
Le serveur roxftpd est un logiciel libre, ce qui implique de le compiler avant toute utilisation. Pour ce faire, une fois téléchargé, il suffit de taper ces lignes dans la console, dans le répertoire Roxftpd0.1:

./configure
make
make install

Il est nécessaire de lancer la command ./configure pour générer le fichier Makefile qui vous permettra de compiler roxftpd en fonction de votre plateforme de travail. En effet, il est compatible avec linux, BSD, SUN, ALPHA, CYGWIN.
De plus, la commande make install n'est éxécutable que par un administrateur du système sur lequel va être installé le serveur, car il copie des fichiers dans des répertoires systèmes.
Si vous n'avez pas les droits administrateurs sur votre système, vous pouvez toujours installer roxftpd en remplacant ./configure par ./configure --prefix=install_path . Dans ce cas, lors de la commande make install, roxftpd sera installé dans le répertoire install_path/.roxftpd


Si vous avez une version .rpm:

Il vous suffit d'être administrateur de votre système, tapez:

rpm -ivh roxftpd.rpm

La désinstallation

Pour la version .tar.gz :
De la même manière que vous l'avez installer, il vous suffi cette fois de taper:

make uninstall

dans le même répertoire où vous aviez avant taper make install.

Pour la version rpm :

De même que pour l'installation il vous suffit d'être administrateur, de vous placer dans le répertoire où vous avez téléchagé la version rpm de roxftpd, et de taper:

rpm -e roxftpd.rpm

Phase de login :

Une fois l'installation de roxftpd terminée, seul un utilisateur est utilisable. Le nom de cet utilisateur est roxftpd, mot de passe rox, et il est administrateur du serveur. Il faut commencer par se connecter au serveur à partir du localhost, pour commencer à l'administrer.
Une fois les comptes d'utilisateurs crées, il faudra penser à configurer leurs comptes (ratios, ip, ident etc.) et SURTOUT de changer le mot de passe de l'utilisateur roxftpd pour des raisons évidente de sécurité bien que cet user ne puisse se connecter qu'en localhost.


Les utilisateurs :

Le serveur roxftpd permet une gestion efficace des utilisateurs. En effet, il existe une hiérarchie des utilisateurs, allant de l'administrateur (s) du serveur au membre limité à la lecture de certains répertoires, en passant par les responsables de groupes. Cette administration est semblable à celle de tous les autres serveurs FTP, et sensiblement similaire à celle de linux.

Les utilisateurs sont stockés sous forme de fichiers texte, contenant toutes les informations les concernant. On retrouve:

PASS: le mot de passe (crypté)
GROUP: les groupes dont fait partie un utilisateur: matérialisés par des numéros: des Ids.
FLAGS: les flags de l'utilisateur
DIR: son répertoire par défaut, c'est le répertoire qu'il verra dès qu'il se connectera
CREDITS: les crédits qui lui sont disponibles (1 crédit = 1Ko)
RATIO:le ratio (3 signifie 1:3 c'est à dire que l'utilisateur doit uploader 1 Mo pour télécharger 3 Mo)
IDLE: c'est le temps au bout du quel un utilisateur est déconnecté si il n'effectue pas d'action sur le FTP.
ULSPEED et DLSPEED: ses limites de vitesse: on peut en effet limiter la vitesse maximum d'upload et de downlaod d'un utilisateur.
AVERAGE_UL et AVERAGE_DL: ses vitesses moyennes
NB_CONNECT: son nombre de connections
TIME et TOTAL_TIME: son temps de connection (temps de la dernière et temps total ).
TOTAL_UL, TOTAL_DL, FILES_UL, FILES_DL: le nombre de fichiers qu'il a tranférer ainsi que la taille totale de ces fichiers
ID: le numéro d'indentification de l'utilisateur. Ce numéro est unique pour chaque utilisateur.
NBSAME: nombre total de connexions simultanées autorisées pour l'utilisateur.
NBDL et NBUL: nombre de connexions simultanées autorisées en download, respectivement, en upload. ( -1 pour illimité)
IP: les IP depuis lesquelles l'utilisateur a le droit de se connecter.

Il est à noter que le serveur roxftpd permet l'utilisation d'ident en sus du filtrage d'IP.

Toutes ces informations permettront de donner des statistiques complètes de tous les utilisateurs.

De plus, tous les fichiers disponibles sur le serveur peuvent être attribué à un utilisateur, et ce dernier peut changer les droits de ce fichier. Les droits sont exactement les mêmes que sous linux, ou unix, c'est à dire que chaque utilisateur peut permettre aux autres de son groupe, ou à tout le monde de lire, modifier ou exécuter ses fichiers / répertoires.


Le fichier de configuration:

Le serveur roxftpd est muni d'un fichier de configuration entièrement modifiable via un éditeur de texte classique (emacs, vi, etc.).
Les champs que l'on peut modifier sont les suivants:
sitepath: c'est le chemin à partir duquel roxftpd peut stocker ses données.
nb_users: c'est le nombre d'utilisateurs normaux autorisé.
Total_users: nombre d'utilisateurs maximum y compris de flags 1 et 4.
freespace: c'est le pourcentage d'espace libre qu'il est nécessaire de garder.
rootwrite: permet d'autoriser ou non l'écriture à la racine.
maxidle: défini la valeur maximum de l'idle (voir la fonction idle)
Enfin à la fin du fichier pour les utilisateurs du ssl :
certfile: il faut indiquer ici le chemin complet du certificat
keyfile: il faut indiquer le chemin complet de votre clé

Tous ces champs peuvent être changés. Les lignes qui suivent dans le fichier de configuration définissent les flags nécessaires à l'exécution d'une commande. C'est dans ce sens que notre serveur FTP est entièrement configurable. Chaque fonction (comme site adduser, par exemple) peut nécessiter un ou plusieurs flags. L'administrateur est après libre de choisir ses propres définitions pour chanque flag.

Exemple:
addip 127 signifie que l'utilisateur voulant utiliser la commande site addip doit obligatoirement au moins l'un des flags 1, 2 ou 7.


Messages

Le serveur roxftpd permet plusieurs sortes de messages.
Tout d'abords, il permet aux utilisateurs de communiquer entre eux, qu'ils connectés ou non, en effet les messages sont stockés jusqu'à ce qu'ils soient effacés par l'utilisateur.

Ensuite, il permet de placer des messages dans chaque répertoire, ce message sera afficher à chaque fois que l'utilisateur ira dans ce répertoire. Pour cela il suffit de placer un fichier nommé .msg dans le répertoire voulu.

Enfin, il permet d'afficher des messages de bienvenue et d'adieu lorsque l'utilisateur se connecte ou se déconnecte. Pour le message de bienvenue il suffit de placer un fichier avec le texte voulu dans le répertoire ~/.roxftpd/msg et de le nommé startup. La méthode est la même pour le message d'adieu, mais le nom de fichier est bye.

Commandes :

Voici une liste des commandes usuels d'un serveur FTP :

GET nom_fichier: télécharge le fichier nom_fichier.
L'argument nom_fichie doit être une chaîne de caractères représentant le nom d'un fichier qui existe sur le serveur. De plus, l'utilisateur voulant télécharger un fichier doit avoir les droits en lecture sur celui-ci et disposer d'un nombre suffisant de crédits. Dans le cas contraire, il devra uploader sur le serveur, ou demander à un administrateur de lui en donner.

PUT nom_fichier: upload le fichier nom_fichier.
L'argument nom_fichier est une chaîne de caratère représentant un fichier présent sur l'ordinateur de l'utilisateur, dans son répertoire courant.
Pour utiliser cette commande, il faut que l'utilisateur ait les droits en écriture sur le répertoire dans lequel il veut uploader le fichier.


LS [ OPTIONS ] [ FILE ]: liste les fichiers et répertoires du répertoire courant.

OPTIONS: le champ option est facultatif: il est semblable à celui de la commande ls système. La commande LS peut donc lister récursivement les sous-répertoires, afficher les statistiques de chaque fichier, le propriétaire etc.
FILE: si ce champs est spécifier et correct, c'est à dire si il correspond à un fichier ou un dossier existant sur le serveur, la commande retourne des informations concernant ce fichier ou dossier.

DELE filename: supprime un fichier du serveur.
Pour utiliser cette commande, il faut que l'utilisateur ait le droit de modifier ce fichier (accès en écriture sur ce fichier).

MKDIR dirname: crée un répertoire dirname dans le répertoire courant de l'utilisateur sur le serveur.
Lorsqu'un répertoire est crée sur le serveur, il est automatiquement possédé par celui qui l'a créé, et les droits sont mis en conséquence.
Pour exécuter cette commande, il faut que l'utilisateur ait les droits en écriture sur le répertoire courant.

QUIT : Cette commande sert à fermer le canal de contrôle. Si l'utilisateur tape QUIT dans son client FTP texte, il retourne invariablement sous l'invite de commande.

RMDIR dirname: supprime du répertoire courant de l'utilisateur sur le serveur le répertoire dirname.
Le répertoire dirname doit être vide de tout fichier ou dossier.
L'utilisateur doit avoir le droit en écriture sur le répertoire dirname.

RENAME source dest: renomme un fichier ou un dossier.
L'argument source doit représenter un fichier ou un dossier existant sur le serveur, et l'utilisateur doit avoir les droit en écriture sur ce fichier / dossier.

PWD : donne le chemin courant de l'utilisateur. Par exemple, si l'utilisateur vient juste de se connecter et qu'il tape PWD, le serveur affiche le chemin par défaut de l'utilisateur (stocké dans son fichier utilisateur derrière le mot DIR.

Exemple:
PWD renvoie '/' lorsque l'utilisateur est à la racine du serveur FTP (~/.roxftpd/site)

Voici maintenant une liste de commandes assez spécifiques au server roxftpd. Elles regroupent les commande d'administration du serveur, de création, gestion d'utilisateurs.


SITE ADDGRP group : cette commande permet d'ajouter un groupe sur le serveur.

Note:
Pour ajouter un groupe sur le serveur, il faut avoir le flag 1, c'est à dire être administrateur sur le serveur.

Exemple:
SITE ADDGRP groupe1

SITE ADDIP username ident@ip1 [ ident@ip2 ... ident@ip10 ]: ajoute une IP à partir de laquelle l'utilisateur username pourra se connecter au serveur. Si l'utilisateur ne prévoit pas d'utiliser de démon ident, il faut remplacer ident par *.

username : représente l'utilisateur auquel sera attribuer la nouvelle IP.
ident@ip#: représente l'IP et éventuellement l'ident accepté. On peut utiliser * dans les IP, on peut ainsi par exemple autoriser des plages d'adresses (util pour n'autoriser que les connections en local). Chaque utilisateur peut avoir un maximum de 10 IP autorisées.

Exemples:
SITE ADDIP user toto@*.*.*.*
SITE ADDIP user titi@127.0.0.1
SITE ADDIP user *@127.*.*.1

Note:
Pour utiliser cette commande, il faut que l'utilisateur ait un des flags 1, 2 ou 7.


SITE ADDUSER
username password [ ident@ip1 ... ident@ip10 ] : permet d'ajouter un utilisateur sur le serveur.

username : représente le nom donné au nouvel utilisateur
password : password que devra utiliser le nouvel utilisateur pour se connecter.
ident@ip# : optionel: 10 ips peuvent être spécifiées ici.

Note:
Après avoir ajouter un utilisateur, il faut penser à lancer la commande SITE ADDIP pour lui donner le droit de se connecter.
Cette commande crée un fichier utilisateur sur le serveur, dans le répertoire ~/.roxftpf/users.
L'utilisateur qui lance cette commande doit avoir les flags 1, 2, ou 7.

SITE CHANGE user field value : cette fonction permet de changer presque tous les paramètres
d'un utilisateur.

Les paramètres pouvant être changés sont les suivants:
credits, dir, flags, ratio, ulspeed, dlspeed, idle, tagline, nbsame, nbdl, nbul
Pour les trois derniers paramètres, -1 correspond à aucune limite.

Note:
On peut utiliser * pour appliquer un changement à tous les utilisateurs.
Pour changer les flags d'un utilisateur, il faut donner une chaîne de caractère correcte: par exemple +abcd-d, ce qui aura pour effet d'ajouter les flags abcd et retirer le flag de user.
Pour utiliser cette commande, il faut avoir le flag 1.

Exemple:
SITE CHANGE toto flags +234-BC
SITE CHANGE * ratio 3

Cette dernière commande aura pour effet d'imposer un ratio de 1:3 à tous les utilisateurs du serveur.

SITE CHGRP username group : permet d'ajouter ou de retirer le groupe group à l'utilisateur username.

username : c'est une chaîne de caractère devant représenter un utilisateur valide, c'est cette utilisateur qui sera modifier.
group : c'est le groupe qui sera ajouté ou enlevé du fichier utilisateur.

Note:
Le groupe et l'utilisateur doivent exister.
Il faut le flag 1 ou 7 pour utiliser cette commande.

Exemple:
SITE CHGRP toto groupe_des_totos

SITE CHMOD mode path : permet de changer le mode d'un fichier ou d'un répertoire passé en argument (path).

mode: ce champs représente le mode à appliquer à path, ce doit être un mode valide, composé d'une combinaison de 421, comme dans les droits UNIX.
path: représente le fichier auquel il faut appliquer le mode, ce doit être un fichier ou un répertoire existant.

Note:
Pour modifier le mode d'une cible, il faut en être le propriétaire.

Exemple:
SITE CHMOD 700 ../toto

SITE CHOWN username [:group] path : change le propriétaire d'un fichier ou d'un répertoire.

username : représente l'utilisateur à qui ont veut attribuer le fichier ou répertoire path.
:group: ce champs est optionnel, et est rempli en cas d'omission.
path : ce champs représente le fichier ou dossier à attribuer.

Note:
L'utilisateur doit exister, ainsi que le groupe, si il est spécifié.
Seul le propriétaire (ou un admin) du fichier peut lancer cette commande, sauf si le fichier appartient à nobody:nogroup, dans ce cas, tous les utilisateurs peuvent le faire.

Exemple:
SITE CHOWN Paikan /toto.txt
SITE CHOWN Killer:groupK /toto.txt

SITE CHPASS username password: change le mot de passe de username.

Note:
L'utilisateur username doit exister.

Exemple:
SITE CHPASS toto new_toto_pass

SITE CLOSE: permet de fermer le serveur pour les utilisateurs normaux, et de kicker tous les utilisateurs qui sont connectés.

Note:
Il faut avoir le flag 1 pour exécuter cette commande.

SITE CONF [field] [newvalue]
SITE CONF : affiche la configuration actuelle
SITE CONF field : affiche la configuration pour field
SITE CONF field value : change field à newvalue

field peut être un numéro d'un champs, ou bien un des champs suivants:
sitepath (répertoire par défaut)
nb_users (nombre max. d'utilisateurs normaux autorisé)
total_users (nombre max. d'utilisateurs autorisé)
freespace (% min. d'espace à garder libre sur le disque)
rootwrite (permission d'écrire dans le répertoire /)
maxidle (idle time max. pour les utilisateurs normaux)
une commande SITE

Note:
Pour les flags, * est supporté.
Flag requit: 1

Exemple:
SITE CONF sitepath /home/toto/ftpdir
SITE CONF 2 30
SITE CONF chmod

SITE DELGRP group : permet de supprimer un groupe du serveur. En fait, cette commande revient à ajouter le flag 6 à tous les utilisateurs du groupe group.
group: nom du groupe à supprimer. Tous les utilisateurs ayant comme unique groupe group se verront attribuer le flag 6.

Note:
Flag requit: 1


SITE DELIP username ip# | ident@ip : supprime une ip d'un utilisateur. Cette commande peut être utilisée de deux manières: soit on donne le numéro de l'ip qu'on veut supprimer (# peut aller de 1 à 10), soit on donne l'adresse complète, avec l'ident.

username : nom de l'utilisateur auquel on applique le changement.
ip# : on enlèvera l'ip numéro # , par exemple ip3 représente la 3e ip de username, pour obtenir une liste d'ip d'un user, taper SITE USER username.
ident@ip: correspond à une adresse ip complète, avec l'ident

Note:
Il faut que username soit un utilisateur valide, que ident@ip soit valide, et que # soit un nombre inférieur ou égal au nombre d'ip à partir desquelles username peut se connecter.

SITE DELUSER username : supprime un utilisateur du serveur.

Note:
username doit être un utilisateur valide.
Le fichier utilisateur n'est pas supprimé, en fait, on ajoute le flag +6 cet utilisateur. Il ne pourra donc plus se connecter.
Si on veut supprimer définitivement cet utilisateur, on utilise SITE PURGE username.
Si on veut reprendre cet utilisateur, on utilise SITE READD.


SITE ERRLOG [ jours] : Affiche les informations concernant des erreurs ayant eu lieu sur le serveur.

Le champ jour permet d'afficher uniquement les informations antèrieur à cette date.
Cette commande n'est utilisable que par un administrateur.

Exemple :
SITE ERRLOG 8

SITE GADDUSER group username password [ident@ip1 ... ident@ip10] : Cette fonction fonctionne exactement comme SITE ADDUSER, mais on spécifie en plus le groupe de départ de username.

Notes:
Il faut avoir les droits d'ajouter un utilisateur, et le group doit exister.
Après avoir ajouter un utilisateur, il faut lancer SITE ADDIP username


SITE GIVE username kilobytes: permet de donner de ses crédits à un utilisateur.

username : nom de l'utilisateur à qui on donne des crédits, ces crédits seront déduis de ce que l'utilisateur qui lance la commande possède.
kilobytes : correspond au nombre de crédits données, avec la relation 1 crédits = 1 Ko

Notes:
Attention: cette opération n'est réversible que si username répète la commande dans l'autre sens.

Exemple:
SITE GIVE toto 10000
Cette commande donne à l'utilisateur toto 10 000 de vos crédits. Autrement dit, vous lui permettez de télécharger 10 Mo à votre place.


SITE GROUPS: affiche des informations concernant les groupes du serveur. On retrouve une liste de tous les groupes crées, avec le nombre de personnes qu'ils contiennent, ainsi qu'une brève description de ceux-ci.


SITE IDLE [ idle ] : si aucun argument n'est passé, SITE IDLE affiche l'idle courant de l'utilisateur. Si un argument idle est passé, la commande change l'idle de l'utilisateur.

idle représente un temps en secondes, c'est le temps au bout duquel l'utilisateur est déconnecté si il n'agit pas sur le serveur.

Note:
idle doit être un nombre inférieur à l'idle maximum autorisé sur le serveur.

Exemple:
SITE IDLE 3000
Ici l'utilisateur a le droit de rester connecté au serveur pendant 3000 secondes sans rien faire.


SITE KICK username: cette commande permet de fermer toutes les connections ouvertes par l'utilisateur username. En effet, il peut avoir plusieurs thread d'ouverts, cette commande les fermera tous en même temps.

Note:
Utiliser SITE WHO pour voir les utilisateurs connectés sur le serveur.

Exemple:
SITE KICK toto

SITE KILL pid : permet de tuer un process.

Note:
Utiliser SITE SWHO pour voir les utilisateurs connectés, ainsi que leur Pid sur le serveur.
Un utilisateur ne peut pas se Killer lui même.

Exemple:
SITE KILL 8745


SITE LOGINS [ jours ] : Affiche l'ensemble des informations relatives à des erreurs de login.

Le champ jour est facultatif ; s'il est rempli, il s'agira d'afficher les informations de ces n derniers jours. (n représentant l'argument jour)
Seul un administrateur peut utiliser cette commande.

Exemple :
SITE LOGINS 6

SITE LOGS [ jours ] : Affiche l'ensemble des informations relatives au serveur.

Le champ jour permet de n'afficher que les informations postèrieures au nombre de jour donné en argument.
Il n'y a que les administrateurs qui ont le droit d'utiliser cette commande.

Exemple :
SITE LOGS 5


SITE MSG: cette suite de fonctions permet aux utilisateurs du serveur de communiquer rapidement. Cette suite fonctionne comme une mini base de mails. On retrouve la corbeille et la boite de réception.
SITE MSG READ: permet de lire les messages
SITE MSG SAVE: permet de déplacer les messages vers la boîte de réception
SITE MSG PURGE: permet de supprimer les messages qui ont été placés dans la corbeille.
SITE MSG TREAD: permet de lire les messages qui sont dans la corbeille.
SITE MSG username message : Permet d'envoyer la chaîne message à username.

Note:
username peut être remplacé par *, ainsi, l'utilisateur envoie le message à tous les utilisateurs du serveur.


SITE NFO path : permet d'afficher à l'écran le fichier texte path.

Note:
Cette fonction est pratique pour lire les .nfo pour savoir ce qui se trouve dans un répertoire, rapidement.

Exemple:
SITE NFO toto.txt

SITE OPEN: permet d'ouvrir le serveur aux utilisateurs normaux (par exemple, après avoir fais un SITE CLOSE).

NOTE:
Seul un administrateur peut lancer cette commande.

SITE PASSWD new_pass : Cette commande permet de changer de mot de passe.

NOTE :
Un utilisateur quel qu'il soit ne peut changer que son propre mot de passe.


SITE PURGE [ username ] : permet d'effacer définitivement les utilisateurs qui ont reçu un flag 6 par la commande site deluser.

Si le champ username est rempli seul le fichier de cet utilisateur sera ouvert pour savoir s'il a un flag 6 et s'il en a un il sera effacé définitivement.
Cette commande peut également effacer un groupe si ce dernier est vide.

Seul un administrateur peut se servir de la commande site purge.


SITE READD username : efface le flag 6 du fichier utilisateur afin que l'utilisateur username ne soit pas effacé du serveur.

SITE RENGRP old_name new_name : permet de renommer un groupe.

Seul un administrateur ou le possesseur du groupe peuvent renommer un groupe.

Exemple :
SITE RENGRP Simpsons_family Montana_family : Le groupe Simpsons_family va désormais s'appeler Montana_family.


SITE RENUSER old_name new_name : Cette commande permet de renommer un utilisateur.

Le premier argument est l'ancien nom de l'utilisateur et le deuxième est son nouveau nom.

Seul les utilisateurs ayant les flags 1 ou 7 peuvent se servir de cette commande.

Exemple :
SITE RENUSER acid killer : l'utilisateur acid s'appellera désormais killer.


SITE REQFILLED number : L'argument number est le numéro de la requête (i.e la liste des programmes que les utilsateurs du serveur aimerait avoir ) à marquer comme compléter, c'est à dire que le programme en question a été uploadé sur le serveur.

De plus un message sera envoyé au dépositaire de la requête pour l'informer que son programme est actuellement sur le serveur. La requête est aussitôt effacer de la liste.
Tous les utilisateurs peuvent lancé cette commmande.

Exemple :
SITE REQFILLED 3


SITE REQUEST [ request ] : permet d'afficher la liste des requêtes.

Lorsque le champ request est rempli cela permet d'ajouter une requête à la liste.
Tout les utilisateurs du serveur ont accés à cette commande.

Exemple :
SITE REQUEST QUAKE 2 : Quake 2 sera ajouté à la liste des requêtes.


SITE RESET argument [ jours ] : Cette commande permet de remettre à zéro plusieurs types d'informations spécifiées par le champ argument.

Le champ jour permet de remettre à zéro uniquement les informations antèrieur à cette date.

Valeur possible du champ argument :
requests
welcomes (welcome messages)
errlog
syslog
logs
logins

Il faut etre administrateur pour pouvoir se servir de site reset.

Exemples :
SITE RESET syslog : cela effacera toutes les informations contenues dans le fichier syslog.


SITE RULES : permet d'afficher les règles du serveur.

Tous les utilisateurs ont accés à cette commande.


SITE SEEN username : Affiche la date à laquelle l'utilisateur a été connecté pour la dernière fois.

Il n'y a pas de restrictions d'utilisateur sur cette commande.


SITE STAT fields [ #results ] : Affiche les statistques de fields pour chaque utilisateur et effectue un classement des utilisateurs.

L'arguments fields peut prendre les valeurs suivantes :
nb_connect (nombre de connections)
total_time (le temps passé sur le serveur)
total_ul (le total des uploads)
total_dl (le total des downloads)
average_ul (vitesse moyenne d'upload)
average_dl (vitesse moyenne de download)
files_ul (nombre de fichiers uploadés)
files_dl (nombre de fichiers downloadés)

Le champ #results permet de definir un nombre de résultats (par exemple les dix premiers utilisateurs, ceux qui arrivent en tête du classement).

Tous les utilisateurs du serveur peuvent utiliser cette commande.

Exemple :
SITE STAT total_dl 5 : cela va afficher les cinq utilisateurs qui ont le plus télécharger sur le serveur.


SITE SWHO : Cette commande affiche la liste des utilisateurs actuellement connectés au serveur.

Elle affiche également des informations concernant les utilisateurs :
| PiD | Nom | Ident/IP | Online time | Idle time |

Cette commande est reservée aux administrateurs du serveur.


SITE SYSLOG [ nbjour ] : Chaque commande site entraine une modification du fichier syslog, y inscrivant des informations sur la commande effectuée. SITE SYSLOG affiche les informations relatives aux commandes effectuées depuis [ nbjour ] jour.

Si le champ [ jour ] n'est pas rempli alors la commande affichera l'ensemble des informations contenues dans le fichier syslog .
Cette commande ne peut etre utilisé que par un administrateur.

Exemple :
SITE SYSLOG 4

SITE TAKE username kilobytes : permet de retirer des credits à un utilisateur.

Username : représente l'utilisateur à qui l'on va diminuer les credits.
Kilobytes : cet argument est le nombre de kilo octets que l'on va retirer à l'utilisateur.

Seul un administrateur (flag 1) peut utiliser cette commande.

Exemples :
SITE TAKE acid 800 : cela retirera 800 kilo octets à l'utilisateur acid.


SITE TIME : permet de connaître depuis combien de temps le user qui a lancé la commande est connecté au serveur.
Tous les utilisateurs peuvent s'en servir.


SITE TRAFFIC : Cette commande permet d'afficher les informations relatives au traffic actuel sur le serveur (download et upload).
Site traffic ne peut etre utilisé que par un utilisateur ayant les 1, 2 ou 7.


SITE UNFO tagline : Sert a changé la tagline de l'utilisateur qui a lancé la commande.

Tous les utilisateurs du serveur peuvent lancer cette commande.

Exemple :
SITE UNFO Je suis un boss


SITE USER username : Cette commande affiche la liste des informations contenus dans le fichier de l'utilisateur username.

Tous les utilisateurs peuvent lancer cette commande.

Exemple :
SITE USER root : cela va afficher les informations de l'utilisateur " root ", contenues dans son fichier.


SITE USERS [ argument ] : Lorsque le champ argument est vide cette commande permet d'afficher la liste de l'ensemble des utilisateurs ainsi que les informations les concernant.

Si le champ argument est rempli la commande n'affichera que les utilisateurs qui correspondent au champ. Le champ argument peut prendre deux valeurs : deleted, leech.
Seul un administrateur peutse servir de cette commande.

Exemple :
SITE USERS deleted : cela affichera la liste de tous les utilisateurs qui ont un flag 6.


SITE VERS : Affiche la version du serveur. (par exemple version 1.0)


SITE WELCOME msg : Cette commande permet d'afficher un message de bienvenue.

Tous les utilisateurs ont accés à cette commande.

Exemple :
SITE WELCOME Bonjour

SITE WHO : Affiche l'ensemble des utilisateur actuellement connectés au serveur.

De plus cette commande permet également de savoir ce que chaque utilisateur est en train de faire.

Les informations affichées sont :
Name | Group | Tagline | Action |

Cette commande n'a pas de restriction d'utilisateur : n'importe utlisateur peut s'en servir.

CREATION D'UNE CLE ET D'UN CERTIFICAT POUR LE SSL :
Exécutez les commandes suivantes :
openssl dgst * > rand.dat
openssl genrsa -rand rand.dat -out ca.key -des3 512
openssl req -new -x509 -key ca.key -out ca.crt


AUTEUR

Coudurier Baptiste
Deveze Benjamin
Epaillard Emeric
Gaudonville Guillaume

Version1.0


BUGS
Il n'y a pas de bugs connus à ce jour? Espérons que l'on n'en trouve jamais aucun.
Pour nous communiquer le moindre bug mailez :

coudur_b@epita.fr
deveze_b@epita.fr
epaill_e@epita.fr
gaudon_g@epita.fr