| 
      rcmdsh - return a stream to a remote command  without  superuser
      #include <unistd.h>
     int
     rcmdsh(char **ahost, int inport, const char *locuser,
             const   char   *remuser,   const   char  *cmd,  char
*rshprog);
     The rcmdsh() function is used by normal users to  execute  a
command on a
     remote  machine  using an authentication scheme based on reserved port numbers
 using rsh(1) or the value  of  rshprog  (if  non-null).
rshprog may be
     a  fully-qualified  path, a non-qualified command, or a command containing
     space-separated command line arguments.
     The rcmdsh() 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 and a connection is established to
a server residing
 at the well-known Internet port shell/tcp (or whatever port is
     used by rshprog).  The parameter inport is  ignored;  it  is
only included
     to provide an interface similar to rcmd(3).
     If  the  connection succeeds, a socket in the UNIX domain of
type
     SOCK_STREAM is returned to the caller, and given to the  remote command as
     stdin and stdout, and stderr.
     The  rcmdsh()  function returns a valid socket descriptor on
success.  It
     returns -1 on error and prints a diagnostic message  on  the
standard error.
     rsh(1), socketpair(2), rcmd(3), rshd(8)
     The rcmdsh() function first appeared in OpenBSD 2.0.
      If  rsh(1)  encounters  an error, a file descriptor is still
returned instead
 of -1.
OpenBSD      3.6                            May      5,      2003
[ Back ] |