REXEC(3)

NOM
rexec - Renvoyer un flux sur une commande distante

BIBLIOTHÈQUE
libcompat

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

DESCRIPTION
Cette interface est rendue obsolète par

La fonction rexec() cherche l'hôte *ahost en utilisant 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 renverra un pointeur sur une structure qui contient le port nécessaire. Le protocole de la connexion est décrit en détails dans

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 auxilliaire 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 est 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 4.2BSD.

BOGUES
La fonction rexec() envoie des mots de passe non crypté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 pour plus d'explications.

VOIR AUSSI

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 19 décembre 2007. 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.