NOM

rewec, rexec_af - Renvoyer un flux sur une commande distante

BIBLIOTHÈQUE

Bibliothèque C standard ( libc, -lc)

SYNOPSIS

#include <netdb.h>
[[obsolète]]
int rexec(char **restrict ahost, int inport,
          const char *restrict user, const char *restrict passwd,
          const char *restrict cmd, int *restrict fd2p);
[[obsolète]]
int rexec_af(char **restrict ahost, int inport,
          const char *restrict user, const char *restrict passwd,
          const char *restrict cmd, int *restrict fd2p,
          sa_family_t af);
rexec(), rexec_af():
    Depuis la glibc 2.19 :
        _DEFAULT_SOURCE
    Dans la glibc jusqu'à la version 2.19 incluse :
        _BSD_SOURCE

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. Sinon, *ahost est configuré avec le nom standard de l'hôte. Si un nom d'utilisateur et un mot de passe sont également indiqués, ils sont utilisés pour s'authentifier sur l'hôte ; autrement, les informations appropriées sont recherchée dans l'environnement puis dans le fichier .netrc situé dans le répertoire personnel de l'utilisateur. Si cela échoue, les informations sont demandées à l'utilisateur.
Le port inport indique le port Internet DARPA qui sera utilisé pour la connexion ; l'appel getservbyname("exec", "tcp") (consultez 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 dans la mesure où une connexion secondaire est configurée après que l'autorisation a été vérifiée. Si fd2p vaut 0, stderr (unité 2 de la commande distante) sera la même que stdout et rien n'est prévu pour envoyer des signaux arbitraires au processus distant, bien qu'il soit possible d'obtenir son attention en transmettant des données supplémentaires.

rexec_af()

La fonction rexec() fonctionne en IPv4 (AF_INET). En revanche, la fonction rexec_af() fournit un argument supplémentaire, af, qui permet à l'appelant de sélectionner le protocole. Cet argument peut être indiqué comme AF_INET, AF_INET6 ou AF_UNSPEC (pour permettre à l'implémentation de sélectionner le protocole).

VERSIONS

La fonction rexec_af() a été ajoutée dans la glibc 2.2.

ATTRIBUTS

Pour une explication des termes utilisés dans cette section, consulter attributes(7).
Interface Attribut Valeur
rexec(), rexec_af() Sécurité des threads MT-Unsafe
 

STANDARDS

Ces fonctions ne sont pas dans POSIX.1. La fonction rexec() est d'abord apparue dans 4.2BSD, et est présente sur BSD, Solaris et bien d'autres systèmes. La fonction rexec_af() est plus récente, donc moins répandue.

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 ; consultez rexecd(8) pour plus d'explications.

VOIR AUSSI

rcmd(3), rexecd(8)

TRADUCTION

La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <[email protected]>, Thierry Vignaud <[email protected]>, François Micaux, Alain Portal <[email protected]>, Jean-Philippe Guérard <[email protected]>, Jean-Luc Coulon (f5ibh) <[email protected]>, Julien Cristau <[email protected]>, Thomas Huriaux <[email protected]>, Nicolas François <[email protected]>, Florentin Duneau <[email protected]>, Simon Paillard <[email protected]>, Denis Barbier <[email protected]>, David Prévot <[email protected]> et Jean-Pierre Giraud <[email protected]>
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à [email protected]

Recommended readings

Pages related to rexec you should read also: