3.1. Commandes distantes
Si les commandes distantes sont autorisees, la station
distante peut
faire executer des commandes au programme. Toutes ces
commandes distantes
commencent par un double slash "//". Ce double slash
doit etre entre
directement en debut de ligne sinon la commande n'est
pas reconnue
comme telle.
Les commandes suivantes sont reconnues :
//n <texte> envoie un texte sur la canal "n"
//ACT visualise la derniere activite sysop,
//SESSION visualise le temps d'utilisation de cette version/session,
//ONACTIVITY <texte> fixe le texte qui est envoye pendant une activite sysop,
//CHat <n/indicatif> <txt> envoie un texte a un canal ou un indicatif,
//MSG <n/indicatif> <txt> similaire a CHat,
//COMP on/off marche/arret de la compression Huffman,
//NAME <nom> sauve le nom dans la base de donnee,
//CSTAT visualise toutes les connexions actives,
//MHeard visualise la liste des stations entendues,
//MHeard <nb/texte> visualise les "nb" stations entendues ou cherche "texte",
//SHELL lance une session shell UNIX,
//TSHELL lance une session shell Unix sans conversion CF/LF,
//RUN <programme> execute un programme,
//RUNT <programme> execute un programme sans conversion des CR/LF,
//RUN affiche tous les programmes executables,
//BOX lance la messagerie DigiPoint,
//COOKIE envoi d'un cookie,
//DIR <filtre> affiche le contenu du repertoire,
//DIRLONG <filtre> affiche le contenu du repertoire en format long,
//FREE affiche l'espace disque restant,
//INFO informations sur la station,
//HELP affiche cette aide,
//NEWS affiche les nouvelles de la station,
//READ <fichier> lis un fichier,
//BREAK arret de la lecture d'un fichier,
//WRITE <fichier> ecrit un fichier sur le disque,
//CLOSE termine l'ecriture d'un fichier,
//WPRG <fichier> ecrit un fichier sur le disque en utilisant le
protocole AUTOBIN,
//WPRG <fichier> <rfichier> idem, mais retourne la commande //RPRG <rfichier>,
//RPRG <fichier> lit un fichier en utilisant le protocole AUTOBIN,
//RPRG <fichier> <rfichier> idem, mais retourne la commande //WPRG <rfichier>,
//WYAPP <fichier> ecrit le fichier sur le disque en utilisant le
protocole Yapp,
//RYAPP <fichier> lit le fichier en utilisant le protocole Yapp,
//VERSION affiche la version de ce logiciel,
//ECHO <texte> renvoi le texte,
//TIME donne l'heure,
//RTT calcule le temps d'aller retour d'une trame,
//RING fait sonner (appelle le sysop),
//QUIT quitte le logiciel,
//DISC deconnecte "violemment".
//SYSOP lance la validation du mot de passe sysop,
//ROOTSH lance un shell avec le statut root,
//TROOSH idem ROOTSH, sans la conversion CR/LF,
//SOCKET <adresse_socket> lance une connexion vers un socket,
//TSOCKET <adresse_socket> idem SOCKET, sans la conversion CR/LF,
//COMMAND <commande> execute une commande TNT valide.
N'oubliez pas le "//" en debut de commande et de ligne
!
----------------------------------------------------------------------------
3.1.1. Niveau d'acces par defaut des commandes distantes
Toutes les commandes distantes sont autorisees a tous
(statut NORMAL) sauf
pour les commandes //SHELL, //TSHELL, //ECHO, //COMMAND
(statut SYSOP)
et //ROOTSH, //TROOSH, //SOCKET et //TSOCKET (statut
root). La commande
//COMP est autorisee meme si les commandes distantes
sont interdites
sur la voie courante (statut ALWAYS). Cette configuration
par defaut peut
etre changee avec la commande SETACC.
----------------------------------------------------------------------------
3.1.2. Validation du mot de passe sysop (//SYSOP)
Si la commande distante //sys est recue, la sequence de
validation du mot de
passe sysop est demarree. TNT va prendre 5 nombres au
hasard avec des valeurs
superieures a la longueur de la chaine de caracteres
du mot de passe de la
station distante. La station distante doit repondre avec
les 5 caracteres
correspondants.
Les caracteres peuvent avoir n'importe quelle position
dans la chaine
aleatoire pour accroitre la difficulte de pirater le
mot de passe. De plus,
il n'y a pas de reponse signalant si la commande //SYS
a ete passee
correctement, le statut est change seulement en interne.
Pour cela, il est conseille d'envoyer 3 fois ou meme
plus la commande //sys
avec une seule reponse correcte pour brouiller les pistes.
Cela rendra le
piratage du mot de passe presque impossible. L'algorithme
du mot de passe est
compatible avec celui utilise par TheNet.
----------------------------------------------------------------------------
3.1.3. Shell avec l'autorisation du root (//ROOTSH)
Cette commande est tres dangereuse, verifiez qu'elle n'est
accessible qu'au
bonnes personnes apres la validation du mot de passe.
Si vous ne voulez pas autoriser cette commande, definissez
la avec le statut
ROOT et definissez le drapeau sysop root pour tous les
indicatifs a 0 dans
le fichier tnt_sysfile.
----------------------------------------------------------------------------
3.1.4. Connexion Socket (//SOCKET)
Cette commande autorise des connexions sur tous les sockets
de votre
systeme. Cette commande est assez dangereuse, changer
le statut ROOT
n'est pas recommande. SI vous voulez autoriser des connexion
sur
des sockets specifiques, utilisez la commande a distance
etendue.
('tnt_extremotefile').
----------------------------------------------------------------------------
3.1.5. La commande dangereuse //ECHO
Il existe des bulletins pirates se promenant sur le reseau
des BBS qui
utilisent la commande distante //ECHO pour vous faire
envoyer un bulletin
avec un contenu offensant.
Pour cela, j'ai change le niveau d'acces de la commande
//ECHO au niveau
SYSOP. Si vous nommez tous les BBS sur lesquels vous
travaillez dans le
fichier 'tnt_noremfile' ou si vous desactivez toutes
les commandes distantes
avec la commande REMALLOW pour le canal avec lequel vous
connecter les BBS,
vous pouvez remettre le niveau d'acces de la commande
distante //ECHO a
NORMAL.
Mais faites tres attention avec cette commande ! Sinon,
il se pourrait qu'un
message offensant soit forwarde mondialement avec VOTRE
indicatif !!!
----------------------------------------------------------------------------
3.1.6. Creer de nouvelles commandes a distance
Pour ajouter facilement des commandes a distance, une
commande inconnue
et utilisee comme parametre de //RUN. Par exemple une
commande //FOOBAR
sera traduite en //RUN FOOBAR. Si le rpogramme FOOBAR
existe dans 'run_dir'
il sera execute. Si le programme n'existe pas, l'utilisateur
sera informe
d'une commande a distance erronee.
----------------------------------------------------------------------------
3.1.7. Commandes a distances etendues
Le principe decrit precedemment permet de creer de nouvelle
commandes a
distance en mettant un programme dans le repertoire 'run_dir'.
Si des
parametres optionnels sont nescessaires ou qu'ils ne
peuvent etre
implementes par le programme, la commande a distance
etendue peut etre
utilisee.
Une nouvelle commande a distance etendue se resume a une
commande a
distance avec des parametres. De plus, le niveau d'acces
et le nombre
de caracteres significatifs est defini. Toutes les donnes
sont stockees
dans le fichier 'tnt_extremotefile'.
Le contenu de ce fichier peut etre visualise par la commande
LSEXTREM.
Quand le fichier a ete modifie, il peut etre relu avec
LDEXTREM.