REXEC

Section : Manuel du programmeur Linux (3)
Mise à jour de la version anglaise : 28 décembre 2007
Index Menu principal  

NOM

rexec - Renvoyer un flux sur une commande distante  

SYNOPSIS


int rexec(char **ahost, int inport, char *user, 
          char *passwd, char *cmd, int *fd2p);
 

DESCRIPTION

Cette interface est rendue obsolète par rcmd(3).

La fonction rexec() cherche l'hôte *ahost en utilisant gethostbyname(3). Elle renvoie -1 si l'hôte n'existe pas. Autrement, *ahost est configuré avec le nom standard de l'hôte. Si un nom d'utilisateur et un mot de passe sont également spécifiés, ils sont utilisés pour s'authentifier sur l'hôte ; autrement, on cherche les informations appropriées dans l'environnement puis dans le fichier .netrc de l'utilisateur situé dans le répertoire personnel. Si cela échoue, on demande l'information à l'utilisateur.

Le port inport spécifie quel port Internet DARPA sera utilisé pour la connexion ; l'appel getservbyname(exec, tcp) (voir getservent(3)) renverra un pointeur sur une structure qui contient le port nécessaire. Le protocole de la connexion est décrit en détails dans rexecd(8).

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 comme stdin et stdout. Si fd2p est non nul, un canal auxiliaire sur un processus de contrôle sera configuré et un descripteur de celui-ci sera placé dans *fd2p. Le processus de contrôle renverra une sortie de diagnostic de la commande (unité 2) sur ce canal et acceptera les octets sur ce même canal comme étant des numéros de signaux Unix à transmettre au groupe du processus de la commande. L'information de diagnostic n'inclut pas l'échec d'autorisation distante. Une connexion secondaire est configurée après que l'autorisation ait été vérifiée. Si fd2p vaut 0, stderr (unité 2 de la commande distante) sera la même que stdout et aucun canal supplémentaire ne sera utilisé pour envoyer des signaux arbitraires au processus distant, bien qu'il soit possible d'obtenir son attention en transmettant des données supplémentaires.  

CONFORMITÉ

Pas dans POSIX.1-2001. Présente sur les BSD, Solaris et beaucoup d'autres systèmes. La fonction rexec() est apparue dans BSD 4.2 .  

BOGUES

La fonction rexec() envoie des mots de passe non chiffrés sur le réseau.

Le service sous-jacent est considéré comme un gros trou de sécurité et ne devrait pas être activé sur bien des machines ; voir rexecd(8) pour plus d'explications.  

VOIR AUSSI

rcmd(3), rexecd(8)  

TRADUCTION

Ce document est une traduction réalisée par Alain Portal <aportal AT univ-montp2 DOT fr> le 12 juillet 2006 et révisée le 17 juillet 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 rexec ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.

 

Index

NOM
SYNOPSIS
DESCRIPTION
CONFORMITÉ
BOGUES
VOIR AUSSI
TRADUCTION

Dernière mise à jour : 17 juillet 2008