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
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") (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.
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.44 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> ».