NOM¶
rewec, rexec_af - Renvoyer un flux sur une commande distante
SYNOPSIS¶
#define _BSD_SOURCE /* Consultez feature_test_macros(7) */
#include <netdb.h>
int rexec(char **ahost, int inport, char *user,
char *passwd, char *cmd, int *fd2p);
int rexec_af(char **ahost, int inport, char *user,
char *passwd, char *cmd, int *fd2p,
sa_family_t af);
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 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. 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 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.
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
version 2.2 de la glibc.
ATTRIBUTS¶
Multithreading (voir pthreads(7))¶
Les fonctions
rexec() et
rexec_af() ne sont pas sûres dans
un contexte multithread.
Ces fonctions ne sont pas dans POSIX.1-2001. La fonction
rexec() est
d'abord apparue dans BSD 4.2, 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)
COLOPHON¶
Cette page fait partie de la publication 3.65 du projet
man-pages Linux.
Une description du projet et des instructions pour signaler des anomalies
peuvent être trouvées à l'adresse
http://www.kernel.org/doc/man-pages/.
TRADUCTION¶
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a
<
http://po4a.alioth.debian.org/> par l'équipe de traduction
francophone au sein du projet perkamon
<
http://perkamon.alioth.debian.org/>.
Alain Portal <
http://manpagesfr.free.fr/> (2006). Nicolas
François et l'équipe francophone de traduction de
Debian (2006-2009).
Veuillez signaler toute erreur de traduction en écrivant à
<debian-l10n-french@lists.debian.org> ou 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> ».