XEXEC version 1.00 by Adam Ierymenko (api@one.net)

XEXEC is a small daemon and client for executing process on a remote machine
from a trusted local machine.  Run the xexecd program (as root) on the system
on which things will be executed.  As an argument, specify the port and a
list of trusted IP addresses from which users can execute processes on this
machine.  Xexecd probably will not work right unless the host and the client
have the same password file (i.e. the same uid/gid map).  On the client
machine, a user can execute a task on the host machine by running xexec (must
be installed setuid root) with the IP of the host, the port where xexecd is
listening on the host, a directory to change to on the host (. for none), and
the FULL PATHNAME of the binary and arguments to execute on the host.

Xexec does not allow the user to view any output of the program, nor does it
handle redirection of output (>>whatever won't work on command line).  The
xexec client must be setuid root so that it can bind to a priviledged port.
The xexecd won't accept any requests from unauthorized IP addresses or from
non-priviledged ports.

I call it xexec since I use it primarily to run X processes on the remote
system.  It has the advantage that the xexec client terminates after sending
the execute request (unlike rsh), so execute requests don't take up any memory
on the local machine as they run.

Xexec and xexecd are public domain software and come with no warranty.  It
has only been tested on Linux but will probably work on any Unix system.
