uux(1) CLIX uux(1)
NAME
uux - Runs UNIX-to-UNIX system command execution
SYNOPSIS
uux [flag ... ] command-string
FLAGS
- The stdin to the uux command is made stdin to the
command-string.
-aname Use name as the user identification replacing the
initiator user ID. (Notification will be returned to the
user.)
-b Return whatever stdin was provided to the uux command if
the exit status is nonzero.
-c Do not copy local file to the spool directory for transfer
to the remote machine (default).
-C Force the copy of local files to the spool directory for
transfer.
-ggrade Grade is a single letter/number; lower ASCII sequence
characters will cause the job to be transmitted earlier
during a particular conversation.
-j Output the jobid ASCII string on stdout which is the job
identification. This job identification can be used by
uustat to obtain the status or terminate a job.
-n Do not notify the user if the command fails.
-p Same as -: stdin to the uux command is made stdin to the
command-string.
-r Do not start the file transfer, just queue the job.
-sfile Report status of the transfer in file.
-xdebug_level Produce debugging output on stdout. The debug_level is a
number between 0 and 9; higher numbers give more detailed
information.
-z Send success notification to the user.
DESCRIPTION
2/94 - Intergraph Corporation 1
uux(1) CLIX uux(1)
The uux command gathers zero or more files from various systems, executes
a command on a specified system, then sends stdout to a file on a
specified system.
NOTE: For security reasons, most installations limit the list of commands
executable on behalf of an incoming request from uux, permitting only the
receipt of mail (see mail). (Remote execution permissions are defined in
/usr/lib/uucp/Permissions.)
The command-string is made up of one or more arguments that look like a
shell command line, except that the command and filenames can be prefixed
by system-name!. A null system-name is interpreted as the local system.
Filenames can be one of the following:
1. A full pathname.
2. A pathname preceded by ~xxx where xxx is a login name on the specified
system and is replaced by that user's login directory.
3. Anything else is prefixed by the current directory.
As an example, the command
uux !diff usg!/usr/dan/file1 pwba!/a4/dan/file2 > !~/dan/file.diff
will get file1 and file2 from the usg and pwba machines, execute a diff
command, and put the results in file.diff in the local PUBDIR/dan/
directory.
Any special shell characters, such as <> ; |, should be quoted either by
quoting the entire command-string, or by quoting the special characters as
individual arguments.
The uux command will attempt to get all files to the execution system.
For output files, the filename must be escaped using parentheses. For
example, the command
uux a!cut -f1 b!/usr/file \(c!/usr/file\)
gets /usr/file from system b and sends it to system a, performs a cut
command on that file and sends the result of the cut command to system c.
The uux command will notify you if the requested command on the remote
system was disallowed. This notification can be turned off by the -n
flag. The response comes by remote mail from the remote machine.
FILES
/usr/lib/uucp/spool Spool directories
2 Intergraph Corporation - 2/94
uux(1) CLIX uux(1)
/usr/lib/uucp/Permissions Remote execution permissions
/usr/lib/uucp/* Other data and programs
NOTES
Protected files and files that are in protected directories that are owned
by the requester can be sent in commands using the uux command. However,
if the requester is root, and the directory is not searchable by other,
the request will fail.
CAUTIONS
Only the first command of a shell pipeline may have a system-name!. All
other commands are executed on the system of the first command.
The use of the shell metacharacter * will probably not do what you want it
to do. The shell tokens << and >> are not implemented.
The execution of commands on remote systems takes place in an execution
directory known to the uucp system. All files required for the execution
will be put into this directory unless they already reside on that
machine. Therefore, the simple filename (without path or machine
reference) must be unique within the uux request. The following command
will NOT work:
uux a!diff b!/usr/dan/xyz c!/usr/dan/xyz > !xyz.diff
but the command
uux a!diff a!/usr/dan/xyz c!/usr/dan/xyz > !xyz.diff
will work, assuming diff is a permitted command.
DIAGNOSTICS
No spool directory - dirname - get help
The dirname working directory does not exist.
bad system name: sysname
The uucp command does not know about the specified system.
can't get file status filename
The file does not exist or has incorrect permissions.
permission denied
You do not have permission to perform this command.
EXIT VALUES
The uux command exits with an indeterminate value if successful and an
2/94 - Intergraph Corporation 3
uux(1) CLIX uux(1)
errorcode of 2 if there is a usage error.
RELATED INFORMATION
cut(1), mail(1), uucp(1), uustat(1)
4 Intergraph Corporation - 2/94