Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

NOM

       rcmd,  rresvport,  iruserok,  ruserok  -  Routines renvoyant un flux de
       donnees pour une commande invoquee a distance

SYNOPSIS

       #include <netdb.h>   /* Ou <unistd.h> sur certains systemes */

       int rcmd(char **ahost, int inport, const char *locuser,
                const char *remuser, const char *cmd, int *fd2p);

       int rresvport(int *port);

       int iruserok(uint32_t raddr, int superuser,
                    const char *ruser, const char *luser);

       int ruserok(const char *rhost, int superuser,
                   const char *ruser, const char *luser);

   Exigences de macros de test de fonctionnalites  pour  la  glibc  (consultez
   feature_test_macros(7)) :

       rcmd(), rresvport(), ruserok() : _BSD_SOURCE

DESCRIPTION

       La  fonction  rcmd() est utilisee par le superutilisateur pour executer
       une  commande  sur  une  machine  distante,  en  utilisant  un   schema
       d'identification base sur des numeros de ports privilegies. La fonction
       rresvport() renvoie un descripteur sur  une  socket  se  trouvant  dans
       l'espace  des numeros de ports privilegies. Les fonctions iruserok() et
       ruserok() sont utilisees par les serveurs pour identifier  les  clients
       demandant  un  service avec rcmd(). Les quatre fonctions sont declarees
       dans le meme fichier et sont utilisees par le  serveur  rshd(8)  (entre
       autres).

       La    fonction    rcmd()   recherche   l'hote   *ahost   en   utilisant
       gethostbyname(3), puis renvoie -1  si  cet  hote  n'existe  pas.  Sinon
       *ahost  est  rempli  avec le nom standard de cet hote, et une connexion
       est etablie avec un serveur se trouvant sur l'un des ports bien  connus
       inport.

       Si  la  connexion  reussit, une socket dans le domaine Internet de type
       SOCK_STREAM est renvoyee a l'appelant, et est  fournie  a  la  commande
       distante  en  guise  de  stdin et stdout. Si fd2p est non nul, un canal
       auxiliaire est cree pour un processus de controle, et  son  descripteur
       sera place dans *fd2p. Le processus de controle renverra les sorties de
       diagnostic (numero 2) sur ce canal, et acceptera egalement  des  octets
       qu'il  considerera comme des numeros de signal Unix a envoyer au groupe
       de processus de la commande. Si fd2p  est  nul,  alors  stderr  (sortie
       numero  2  de  la  commande  distante) sera renvoyee sur stdout et rien
       n'est prevu pour l'envoi de signaux arbitraires au  processus  distant,
       bien que vous puissiez y parvenir en utilisant des donnees hors-bande.

       Le protocole est decrit en detail dans rshd(8).

       La fonction rresvport() est utilisee pour obtenir une socket attachee a
       une adresse privilegiee.  Cette  socket  est  utilisable  ensuite  pour
       rcmd()  et  plusieurs  autres  fonctions. Les numeros de ports Internet
       privilegies  se  trouvent  dans  l'intervalle  0  a   1023.   Seul   le
       superutilisateur  est  autorise a attacher une adresse de ce type a une
       socket.

       Les  fonctions  iruserok()  et  ruserok()  prennent  respectivement  en
       argument   une   adresse  IP  et  un  nom  d'hote  distant,  deux  noms
       d'utilisateurs et un  drapeau  indiquant  si  l'utilisateur  local  est
       superutilisateur  << superuser >>. Ainsi, si l'utilisateur n'est pas le
       superutilisateur, elles verifient le fichier /etc/hosts.equiv. Si  ceci
       echoue,  le  fichier .rhosts est recherche dans le repertoire personnel
       de l'utilisateur local, afin de voir si la requete est autorisee.

       Si ce fichier  n'existe  pas,  ou  s'il  ne  s'agit  pas  d'un  fichier
       regulier,  ou  s'il  appartient  a  quelqu'un d'autre que l'utilisateur
       local ou le superutilisateur, ou encore s'il est accessible en ecriture
       par   quelqu'un   d'autre   que   son   proprietaire,  le  test  echoue
       automatiquement. Si la machine est listee dans le fichier  hosts.equiv,
       ou  si  les  noms d'hote et d'utilisateur distants sont trouves dans le
       fichier .rhosts, iruserok() et ruserok() renvoient  zero.  Sinon  elles
       renvoient  -1.  Si  le  domaine  local  (obtenu  par l'intermediaire de
       gethostname(2)) est le meme que le domaine  distant,  seul  le  nom  de
       machine a besoin d'etre indique.

       Si  l'adresse  IP  de  l'hote  distant  est  connue,  on  utilisera  de
       preference iruserok() plutot que ruserok() qui necessitent  d'avoir  un
       serveur DNS digne de confiance pour le domaine distant.

VALEUR RENVOY'EE

       La  fonction  rcmd()  renvoie  un  descripteur de socket valide si elle
       reussit, sinon elle renvoie -1 et affiche un message de diagnostic  sur
       sa sortie d'erreur standard.

       La  fonction  rresvport()  renvoie  un  descripteur  de  socket valide,
       attache a une adresse privilegiee si  elle  reussit.  Elle  renvoie  -1
       sinon,  et  errno  contient  le  code d'erreur. Le code d'erreur EAGAIN
       signifie en realite << Tous les ports reseau sont deja utilises >>.

CONFORMIT'E

       Pas dans POSIX.1-2001. Presentes  sur  les  BSD,  Solaris  et  beaucoup
       d'autres systemes. Ces fonctions sont apparues dans BSD 4.2.

BOGUES

       iruserok() n'est pas declaree dans les fichiers d'en-tete de la glibc.

VOIR AUSSI

       rlogin(1), rsh(1), intro(2), rexec(3), rexecd(8), rlogind(8), rshd(8)

COLOPHON

       Cette  page  fait  partie  de  la  publication 3.27 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler  des
       anomalies       peuvent       etre       trouvees      a      l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis 2010, cette traduction est maintenue a l'aide  de  l'outil  po4a
       <URL:http://po4a.alioth.debian.org/>   par   l'equipe   de   traduction
       francophone       au       sein        du        projet        perkamon
       <URL:http://perkamon.alioth.debian.org/>.

       Christophe  Blaess  <URL:http://www.blaess.fr/christophe/> (1996-2003),
       Alain  Portal  <URL:http://manpagesfr.free.fr/>  (2003-2006).   Nicolas
       Francois et l'equipe francophone de traduction de Debian (2006-2009).

       Veuillez   signaler   toute   erreur   de   traduction  en  ecrivant  a
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous  pouvez  toujours avoir acces a la version anglaise de ce document
       en utilisant la commande << man -L C <section> <page_de_man> >>.

Linux                          28 decembre 2007                        RCMD(3)