Votre IP: 38.107.179.244 
  
 
Google
 
Accueil e-mail Linux
Linux
Perl
Perl
C
Langage C
Dico
Dictionnaire
Biblio liens
Bibliothèque de liens
Index articles
Index articles
 

Date création : 27-03-2008 20:23:44

Linux  Vous êtes dans : GNU/Linux Astuces / Pages man [Section3 - Sous-fonctions]


RCMD

 

Index

  1. NOM
  2. SYNOPSIS
  3. DESCRIPTION
  4. DIAGNOSTICS
  5. CONFORMITÉ
  6. VOIR AUSSI
  7. TRADUCTION

4 juin 1993 BSD 4.2  

NOMIndex

rcmd rresvport iruserok ruserok - Routines renvoyant un flux de données pour une commande invoquée à distance  

SYNOPSISIndex

Fd #include <netdb.h>   /* Ou <unistd.h> sur certains systèmes */ Ft int Fn rcmd char **ahost int inport const char *locuser const char *remuser const char *cmd int *fd2p Ft int Fn rresvport int *port Ft int Fn iruserok u_int32_t raddr int superuser const char *ruser const char *luser Ft int Fn ruserok const char *rhost int superuser const char *ruser const char *luser  

DESCRIPTIONIndex

La fonction Fn rcmd est utilisée par le superutilisateur pour exécuter une commande sur une machine distante, en utilisant un schéma d'identification basé sur des numéros de ports réservés. La fonction Fn rresvport renvoie un descripteur sur une socket se trouvant dans l'espace des numéros de ports privilégiés. Les fonctions Fn iruserok et Fn ruserok sont utilisées par les serveurs pour identifier les clients demandant un service avec Fn rcmd . Les quatre fonctions sont déclarées dans le même fichier et sont utilisées par le serveur rshd(8) (entre autres).
La fonction Fn rcmd recherche l'hôte Fa *ahost en utilisant gethostbyname(3), puis renvoie -1 si cet hôte n'existe pas. Sinon Fa *ahost est rempli avec le nom standard de cet hôte, et une connexion est établie avec un serveur se trouvant sur l'un des ports bien connus Fa inport .
Si la connexion réussit, une socket dans le domaine Internet de type SOCK_STREAM est renvoyée à l'appelant, et est fournie à la commande distante en guise de stdin et stdout Si Fa fd2p est non nul, un canal auxiliaire est créé pour un processus de contrôle, et son descripteur sera placé dans Fa *fd2p . Le processus de contrôle renverra les sorties de diagnostic (numéro 2) sur ce canal, et acceptera également des octets qu'il considérera comme des numéros de signal UNIX à envoyer au groupe de processus de la commande. Si Fa fd2p est nul, alors stderr (sortie numéro 2 de la commande distante) sera renvoyée sur stdout et rien n'est prévu pour l'envoi de signaux arbitraires au processus distant, bien que vous puissiez y parvenir en utilisant des données hors-bande.
Le protocole est décrit en détail dans rshd(8).
La fonction Fn rresvport est utilisée pour obtenir une socket attachée à une adresse privilégiée. Cette socket est utilisable ensuite pour Fn rcmd et plusieurs autres fonctions. Les numéros de ports Internet privilégiés se trouvent dans l'intervalle 0 à 1023. Seul le superutilisateur est autorisé à attacher une adresse de ce type à une socket.
Les fonctions Fn iruserok et Fn ruserok prennent respectivement en argument une adresse IP et un nom d'hôte distant, deux noms d'utilisateurs et un drapeau indiquant si l'utilisateur local est superutilisateur. Ainsi, si l'utilisateur n'est pas le superutilisateur, elles vérifient le fichier /etc/hosts.equiv Si ceci échoue, le fichier .rhosts est recherché dans le répertoire personnel de l'utilisateur local, afin de voir si la requête est autorisée.
Si ce fichier n'existe pas, ou s'il ne s'agit pas d'un fichier régulier, ou s'il appartient à quelqu'un d'autre que l'utilisateur local ou le superutilisateur, ou encore s'il est accessible en écriture par quelqu'un d'autre que son propriétaire, le test échoue automatiquement. Si la machine est listée dans le fichier «hosts.equiv  », ou si les noms d'hôte et d'utilisateur distants sont trouvés dans le fichier «.rhosts  », Fn iruserok et Fn ruserok renvoient zéro. Sinon elles renvoient -1. Si le domaine local (obtenu par l'intermédiaire de gethostname(2)) est le même que le domaine distant, seul le nom de machine a besoin d'être indiqué.
Si l'adresse IP de l'hôte distant est connue, on utilisera de préférence Fn iruserok plutôt que Fn ruserok qui nécessitent d'avoir un serveur DNS digne de confiance pour le domaine distant.  

DIAGNOSTICSIndex

La fonction Fn rcmd renvoie un descripteur de socket valide si elle réussit, sinon elle renvoie -1 et affiche un message de diagnostic sur sa sortie d'erreur standard.
La fonction Fn rresvport renvoie un descripteur de socket valide, attaché à une adresse privilégiée si elle réussit. Elle renvoie -1 sinon, et errno contient le code d'erreur. Le code d'erreur EAGAIN signifie en réalité « Tous les ports réseau sont déjà utilisés ».  

CONFORMITÉIndex

Pas dans POSIX.1-2001. Présentes sur les BSD, Solaris et beaucoup d'autres systèmes. Ces fonctions sont apparues dans BSD 4.2  

VOIR AUSSIIndex

rlogin(1), rsh(1), intro(2), rexec(3), rexecd(8), rlogind(8), rshd(8)  

TRADUCTIONIndex

Cette page de manuel a été traduite et mise à jour par Christophe Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par Alain Portal <aportal AT univ-montp2 DOT fr> jusqu'en 2006.
La traduction de cette page de manuel est basée sur les traductions disponibles sur http://manpagesfr.free.fr/, mais est gérée par l'équipe francophone de traduction de Debian au travers de la liste de discussion debian-l10n-french.
Veuillez signaler toute erreur de traduction par un rapport de bogue sur le paquet manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « man -L C <section> <page_de_man> ».


Création : octobre 2007  © Tous droits réservés 2007 linux-perl-c
Valid HTML 4.01 TransitionalValid CSS