Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
REXEC(3)		 BSD Library Functions Manual		      REXEC(3)

     rexec -- return stream to a remote	command

     Compatibility Library (libcompat, -lcompat)

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

     This interface is obsoleted by rcmd(3).

     The rexec() function looks	up the host *ahost using gethostbyname(3), re-
     turning -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 speci-
     fied, then	these are used to authenticate to the foreign host; otherwise
     the environment and then the user's .netrc	file in	his 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	getservent(3))
     will return a pointer to a	structure, which contains the necessary	port.
     The protocol for connection is described in detail	in rexecd(8).

     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 setup, and	a descriptor for it will be placed in
     *fd2p.  The control process will return diagnostic	output from the	com-
     mand (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 au-
     thorization failure, as the secondary connection is set up	after autho-
     rization 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.

     rcmd(3), rexecd(8)

     The rexec() function appeared in 4.2BSD.

     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.

BSD				 June 4, 1993				   BSD


Want to link to this manual page? Use this URL:

home | help