Execute (X.*) Files for BNU

Purpose

Contains instructions for running commands that require the resources of a remote system.

Description

The execute (X.*) files of the Basic Networking Utilities (BNU) contain instructions for running commands that require the resources of a remote system. They are created by the uux command.

The full path name of a uux command execute file is a form of the following:

/var/spool/uucp/SystemName/X.RemoteSystemNxxxx

where the SystemName directory is named for the local computer and the RemoteSystem directory is named for the remote system. The N character represents the grade of the work, and the xxxx notation is the four-digit hexadecimal transfer-sequence number; for example, X.zeusN2121.
Note: The grade of the work specifies when the file is to be transmitted during a particular connection. The grade notation is a single number (0-9) or letter (A-Z, a-z). Lower sequence characters cause the file to be transmitted earlier in the connection than do higher sequence characters. The number 0 is the highest grade, signifying the earliest transmittal; z is the lowest grade, specifying the latest transmittal. The default grade is N.

Standard Entries in an Execute File

An execute file consists of several lines, each with an identification character and one or more entries:

User Line

Identification Character Description
U UserName SystemName Specifies the login name of the user issuing the uux command and the name of the system that issued the command.

Error Status Line

Identification Character Description
N or Z Indicates the error status.
N Indicates that a failure message is not sent to the user issuing the uux command if the specified command does not execute successfully on the remote system.
Z Indicates that a failure message is sent to the user issuing the uux command if the specified command does not execute successfully on the remote system.

Requester Name

Identification Character Description
R UserName Specifies the login ID of the user requesting the remote command execution.

Required File Line

Identification Character Description
F FileName Contains the names of the files required to execute the specified command on the remote system. The FileName parameter can be either the complete path name of the file, including the unique transmission name assigned by the BNU program, or simply the transmission name without any path information.

The required file line can contain zero or more file names. The uuxqt daemon checks for the existence of all listed files before running the specified command.

Standard Input Line

Identification Character Description
I FileName Specifies the standard input to be used.

The standard input is either specified by a < (less than) symbol in the command string or inherited from the standard input of the uux command if that command was issued with the - (minus sign) flag.

If standard input is specified, the input source is also listed in an F (Required File) line. If standard input is not specified, the BNU program uses the /dev/null device file.

Standard Output Line

Identification Character Description
O FileName SystemName Specifies the names of the file and system that are to receive standard output from the command execution. Standard output is specified by a > (greater than) symbol within the command string. (The >> sequence is not valid in uux commands.) As is the case with standard input, if standard output is not specified, the BNU program uses the /dev/null device file.

Command Line

Identification Character Description
C CommandString Gives the command string that the user requests to be run on the specified system. The BNU program checks the /etc/uucp/Permissions file on the designated computer to see whether the login ID can run the command on that system.

All required files go to the execute file directory, usually /var/spool/uucp/.Xqtdir. After execution, the standard output is sent to the requested location.

Examples

  1. User amy on local system zeus issued the following command:
    uux - "diff /home/amy/out hera!/home/amy/out2 > ~/DF"

    The command in this example invokes the uux command to run a diff command on the local system, comparing the /home/amy/out file with the /home/amy/out2 file, which is stored on remote system hera. The output of the comparison is placed in the DF file in the public directory on the local system.

    The preceding command produces the /var/spool/uucp/hera/X.zeusN212F execute file, which contains the following information:

    The user line identifies the user amy on the system zeus. The error-status line indicates that amy will receive a failure status message if the diff command fails to execute. The requestor is amy, and the file required to execute the command is the following data file:
    U amy zeus
    # return status on failure
    Z
    # return address for status or input return
    R amy
    F /var/spool/uucp/hera/D.herale954fd out2
    O ~/DF zeus
    C diff /home/amy/out out2
    /var/spool/uucp/hera/D.herale954fd out2

    The output of the command is to be written to the public directory on the system zeus with the file name DF. (The ~ (tilde) is the shorthand way of specifying the public directory.) The final line is the command string that the user amy entered with the uux command.

  2. The following is another example of an execute file:
    U uucp hera
    # don't return status on failure
    N
    # return address for status or input return
    R uucp
    F D.hera5eb7f7b
    I D.hera5eb7f7b
    C rmail amy
    This indicates that user uucp on system hera is sending mail to user amy, who is also working on system hera.

Files

Item Description
/etc/uucp/Permissions Describes access permissions for remote systems.
/etc/uucp/Systems Describes accessible remote systems.
/var/spool/uucp/SystemName directory Contains BNU command, data, and execute files.
/var/spool/uucp/SystemName/C.* Contains instructions for transfers.
/var/spool/uucp/.Xqtdir directory Contains lists of commands that remote systems are permitted to execute.
/var/spool/uucppublic/* directory Contains transferred files.