Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ rresvport(3N) — UTek 3.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

rlogin(1n)

rsh(1n)

rexec(3n)

hosts.equiv(5n)

rlogind(8n)

rshd(8n)



RCMD(3N)                COMMAND REFERENCE                RCMD(3N)



NAME
     rcmd, rresvport, ruserok - routines for returning a stream
     to a remote command

SYNOPSIS
     rem = rcmd(ahost, inport, locuser, remuser, cmd, fd2p);
     char **ahost;
     int inport;
     char *locuser, *remuser, *cmd;
     int *fd2p;

     s = rresvport(port);
     int *port;

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

DESCRIPTION
     Rcmd is a routine used by the superuser to execute a command
     on a remote machine using an authentication scheme based on
     reserved port numbers. Rresvport is a routine which returns
     a descriptor to a socket with an address in the reserved
     port space.  Ruserok is a routine used by servers to
     authenticate clients requesting service with rcmd.  All
     three functions are used by the rshd(8n) server (among
     others).

     Rcmd looks up the host *ahost returning -1 if the host does
     not exist, or if some error occurred during or after setting
     up the connection.  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 inport.

     If the call succeeds, a socket 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 set up, and a
     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 UTek signal numbers, to be forwarded to the
     process group of the command.  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; note that you may be able to
     get its attention by using out-of-band data.

     The protocol is described in detail in rshd(8n).





Printed 5/12/88                                                 1





RCMD(3N)                COMMAND REFERENCE                RCMD(3N)



     The rresvport routine is used to obtain a socket with a
     privileged address bound to it.  This socket is suitable for
     use by rcmd and several other routines.  Privileged
     addresses consist of a port in the range 0 to 1023.  Only
     the superuser is allowed to bind an address of this sort to
     a socket.

     Ruserok takes a remote host's name, as returned by a
     gethostent(3n) routine, two user names and a flag indicating
     if the local user's name is the superuser.  It then checks
     the files /etc/hosts.equiv and, possibly, .rhosts in the
     current working directory (normally the local user's home
     directory) to see if the request for service is allowed.  A
     0 is returned if the machine name is listed in the
     hosts.equiv file, or the host and remote user name are found
     in the .rhosts file; otherwise ruserok returns -1.  If the
     superuser flag is 1, the checking of the host.equiv file is
     bypassed.

CAVEATS
     There is no way to specify options to the socket call which
     rcmd makes.

SEE ALSO
     rlogin(1n), rsh(1n), rexec(3n), hosts.equiv(5n),
     rlogind(8n), and rshd(8n).





























Printed 5/12/88                                                 2





































































%%index%%
na:264,135;
sy:399,2513;
de:2912,2343;5591,1373;
ca:6964,261;
se:7225,285;
%%index%%000000000108

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026