Premier IT Outsourcing and Support Services within the UK

User Tools

Site Tools


REXEC(3) Linux Programmer's Manual REXEC(3)


     rexec, rexec_af - return stream to a remote command


     #include <netdb.h>
     int rexec(char **ahost, int inport, const char *user,
               const char *passwd, const char *cmd, int *fd2p);
     int rexec_af(char **ahost, int inport, const char *user,
                  const char *passwd, const char *cmd, int *fd2p,
                  sa_family_t af);
     rexec(), rexec_af():
         Since glibc 2.19:
         In glibc up to and including 2.19:


     This interface is obsoleted by rcmd(3).
     The  rexec()  function looks up the host *ahost using gethostbyname(3),
     returning -1 if the host does not exist.  Otherwise, *ahost is  set  to
     the  standard  name  of  the host.  If a username and password are both
     specified, then these are used to authenticate  to  the  foreign  host;
     otherwise  the  environment  and  then  the  .netrc file in user's home
     directory are searched for appropriate information.  If all this fails,
     the user is prompted for the information.
     The  port  inport specifies which well-known DARPA Internet port to use
     for the connection; the call getservbyname("exec", "tcp") (see  getser-
     vent(3))  will return a pointer to a structure that contains the neces-
     sary port.  The protocol for connection is described in detail in  rex-
     If  the  connection  succeeds,  a socket in the Internet domain of type
     SOCK_STREAM is returned to the caller, and given to the remote  command
     as  stdin and stdout.  If fd2p is nonzero, then an auxiliary channel to
     a control process will be setup, and a file descriptor for it  will  be
     placed  in  *fd2p.   The  control process will return diagnostic output
     from the command (unit 2) on this channel, and will also  accept  bytes
     on  this  channel  as being UNIX signal numbers, to be forwarded to the
     process group of the command.  The diagnostic information returned does
     not  include  remote authorization failure, as the secondary connection
     is set up after authorization has been verified.  If fd2p  is  0,  then
     the  stderr (unit 2 of the remote command) will be made the same as the
     stdout and no provision is made for sending arbitrary  signals  to  the
     remote  process, although you may be able to get its attention by using
     out-of-band data.
     The rexec() function works  over  IPv4  (AF_INET).   By  contrast,  the
     rexec_af()  function  provides  an  extra argument, af, that allows the
     caller to select the protocol.   This  argument  can  be  specified  as
     AF_INET,  AF_INET6, or AF_UNSPEC (to allow the implementation to select
     the protocol).


     The rexec_af() function was added to glibc in version 2.2.


     For  an  explanation  of  the  terms  used   in   this   section,   see
     |Interface           | Attribute     | Value     |
     |rexec(), rexec_af() | Thread safety | MT-Unsafe |


     These functions  are  not  in  POSIX.1.   The  rexec()  function  first
     appeared in 4.2BSD, and is present on the BSDs, Solaris, and many other
     systems.  The rexec_af() function is more recent, and less  widespread.


     The rexec() function sends the unencrypted password across the network.
     The underlying service is considered a big security hole and  therefore
     not enabled on many sites; see rexecd(8) for explanations.


     rcmd(3), rexecd(8)


     This  page  is  part of release 4.16 of the Linux man-pages project.  A
     description of the project, information about reporting bugs,  and  the
     latest     version     of     this    page,    can    be    found    at

Linux 2017-09-15 REXEC(3)

/data/webs/external/dokuwiki/data/pages/man/rexec.txt · Last modified: 2019/05/17 09:32 by

Was this page helpful?-11+1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki