Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ uux(C) — OpenDesktop 1.1.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

mail(C)

uucp(C)

uustat(C)


     UUX(C)                               UNIX System V



     Name
          uux - UNIX-to-UNIX system command execution


     Syntax
          uux [ options ] command-string


     Description
          uux will gather zero or more  files  from  various  systems,
          execute  a  command  on  a  specified  system  and then send
          standard output 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(C)).
          (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
          file names may be prefixed by system-name!.  A null  system-
          name is interpreted as the local system.

          File names may be one of

               (1)  a full path name;

               (2)  a path name 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 the file1 and file2  files  from  the  ``usg''  and
          ``pwba''  machines,  execute  a  diff(C) 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 quoting the
          special characters as individual arguments.

          uux will attempt to get all files to the  execution  system.
          For  files  that  are  output  files,  the file name 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''.

          uux will notify you if the requested command on  the  remote
          system  was disallowed.  This notification can be turned off
          by the -n option.  The response comes by  remote  mail  from
          the remote machine.

          The following options are interpreted by uux:

          -         The standard input to uux  is  made  the  standard
                    input 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 standard input was provided to the
                    uux command if the exit status is non-zero.

          -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  the  standard
                    output  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 -:  The standard input to uux is made  the
                    standard input 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 the  standard  output.
                    The  debug_level  is  a  number  between  0 and 9;
                    higher numbers give more detailed information.

          -z        Send success notification to the user.


     Files
          /usr/spool/uucp/*        spool directories
          /usr/lib/uucp/Permissions
                                   remote execution permissions
          /usr/lib/uucp/*          other data and programs


     See Also
          mail(C), uucp(C), uustat(C)


     Warnings
          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 file name (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.  (If diff is a permitted command.)


     Notes
          Protected files and files that are in protected  directories
          that  are  owned  by  the  requester can be sent in commands
          using uux.  However, if  the  requester  is  root,  and  the
          directory  is  not searchable by ``other,'' the request will
          fail.


     Standards Conformance
          uux is conformant with:
          AT&T SVID Issue 2, Select Code 307-127;
          and The X/Open Portability Guide II of January 1987.


     (printed 2/15/90)                                     UUX(C)


















































































































































































































































































































































































































































Typewritten Software • bear@typewritten.org • Edmonds, WA 98026