rexec(3c) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

rexec(3c)

rexec(3C)                Standard C Library Functions                rexec(3C)

NAME
       rexec, rexec_af - return stream to a remote command

SYNOPSIS
       #include <netdb.h>
       #include <unistd.h>

       int rexec(char **ahost, unsigned short inport, const char *user,
            const char *passwd, const char *cmd, int *fd2p);


       int rexec_af(char **ahost, unsigned short inport, const char *user,
            const char *passwd, const char *cmd, int *fd2p, int af);

DESCRIPTION
       These  functions  open  a connection to a remote host to execute a com‐
       mand, and return a socket connected to the  remote  command's  standard
       input  and  output file descriptors. The protocol for connection is de‐
       scribed in detail in in.rexecd(8).


       The rexec() and rexec_af() functions first look up the host ahost using
       getaddrinfo(3C) and return −1 if the host  does  not  exist.  Otherwise
       ahost  is set to the standard name of the host. The user and passwd pa‐
       rameters are used as the username and password in remote host authenti‐
       cation. When a username and password are not specified, the .netrc file
       in the user's home directory is searched for the  appropriate  informa‐
       tion. If the search fails, the user is prompted for the information.


       The  rexec()  function  always  returns a socket of the AF_INET address
       family. The rexec_af() function accepts AF_INET, AF_INET6, or AF_UNSPEC
       for the address family parameter af. An application  can  choose  which
       type  of  socket  is returned by passing AF_INET or AF_INET6 as the ad‐
       dress family. The use of AF_UNSPEC means that the  caller  will  accept
       any  address  family.  Choosing  AF_UNSPEC  provides a socket that best
       suits the connectivity to the remote host.


       The parameter inport specifies which TCP port to use  for  the  connec‐
       tion.  The  port number used must be in network byte order, as supplied
       by a call to htons(3C).


       If the call succeeds, a socket of type SOCK_STREAM is returned  to  the
       caller, and given to the remote command as its standard input and stan‐
       dard  output.  If  fd2p  is non-null, an auxiliary channel to a control
       process is set up and a file descriptor for it is placed in *fd2p.  The
       control process returns diagnostic output (file descriptor 2), from the
       command  on  the  auxiliary  channel.  The control process also accepts
       bytes on this channel as signal numbers to be forwarded to the  process
       group  of  the  command.  If fd2p is NULL, the standard error (file de‐
       scriptor 2) of the remote command is made the same as its standard out‐
       put, and no provision is made for sending arbitrary signals to the  re‐
       mote process, other than possibly sending out-of-band data.


       There  is  no  way  to specify options to the socket() call made by the
       rexec() or rexec_af() functions.

RETURN VALUES
       If rexec() succeeds, a file descriptor number is returned of the socket
       type SOCK_STREAM and the address family AF_INET. The  parameter  *ahost
       is  set to the standard name of the host. If the value of fd2p is other
       than NULL, a file descriptor number is placed in *fd2p which represents
       the standard error stream of the command.


       If rexec_af() succeeds, the routine returns a file descriptor number of
       the socket type SOCK_STREAM in the address family AF_INET or  AF_INET6,
       as determined by the value of the af parameter.


       If either rexec() or rexec_af() fails, −1 is returned.

USAGE
       The  protocol  underlying  these functions uses weak authentication and
       offers no protection against  spoofing  or  snooping  of  traffic.  The
       in.rexecd(8)  server  is disabled by default on Oracle Solaris and most
       other modern operating systems, and may be removed in  future  versions
       of  Oracle  Solaris.  Use of the sshd(8) server is strongly recommended
       instead, and a programming interface to it is available via the libssh2
       library.

ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:

       tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE  TYPEAT‐
       TRIBUTE VALUE _ Interface StabilityCommitted _ MT-LevelUnsafe



       This  interface  is Unsafe in multithreaded applications. Unsafe inter‐
       faces should be called only from the main thread.

SEE ALSO
       getaddrinfo(3C), htons(3C), socket(3C), attributes(7), in.rexecd(8)

HISTORY
       The rexec() function has been present since the initial release of  So‐
       laris.


       The  rexec_af()  function  was added to Oracle Solaris in the Solaris 8
       release.

Oracle Solaris 11.4               2 Feb 2021                         rexec(3C)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3