ruserok man page on OPENSTEP

Man page or keyword search:  
man Server   1419 pages
apropos Keyword Search (all sections)
Output format
OPENSTEP logo
[printable version]


RCMD(3)								       RCMD(3)

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 super-user 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 privileged port space.  Ruserok is a routine
       used by servers to authenticate clients requesting service  with	 rcmd.
       All  three  functions  are present in the same file and are used by the
       rshd(8C) server (among others).

       Rcmd looks up the host *ahost using gethostbyname(3N), 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 inport.

       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 non-zero, 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 UNIX 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,
       although	 you  may  be  able  to get its attention by using out-of-band
       data.

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

       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 Internet ports  are	those  in  the
       range  0 to 1023.  Only the super-user is allowed to bind an address of
       this sort to a socket.

       Ruserok takes a remote host's name, as returned by a  gethostbyaddr(3N)
       routine,	 two user names and a flag indicating whether the local user's
       name  is	 that  of  the	super-user.   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.  If the local domain (as obtained from gethostname(2)) is the
       same as the remote domain, only the machine name need be specified.

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

DIAGNOSTICS
       Rcmd  returns  a	 valid socket descriptor on success.  It returns -1 on
       error and prints a diagnostic message on the standard error.

       Rresvport returns a valid, bound	 socket	 descriptor  on	 success.   It
       returns	-1  on	error with the global value errno set according to the
       reason for failure.  The error code EAGAIN is overloaded to mean	 ``All
       network ports in use.''

4.2 Berkeley Distribution	 May 14, 1986			       RCMD(3)
[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server OPENSTEP

List of man pages available for OPENSTEP

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net