|
|
1.1 ! root 1: .\"@(#)uux.1c 5.2 ! 2: .TH UUX 1C ! 3: .SH NAME ! 4: uux \- unix to unix command execution ! 5: .SH SYNOPSIS ! 6: .B uux ! 7: [ ! 8: options ! 9: ] ! 10: command-string ! 11: .SH DESCRIPTION ! 12: .I Uux\^ ! 13: will gather zero or more files from various systems, ! 14: execute a command on a specified system ! 15: and then send standard output to a file on a specified ! 16: system. ! 17: Note that, for security reasons, many installations will ! 18: limit the list of ! 19: commands executable on behalf of an incoming request from ! 20: .IR uux . ! 21: Many sites will permit little more than ! 22: the receipt of mail (see ! 23: .IR mail (1)) ! 24: via ! 25: .IR uux . ! 26: .PP ! 27: The \fIcommand-string\fP is made up of one or more arguments that look ! 28: like a Shell command line, ! 29: except that the command and file names ! 30: may be prefixed by ! 31: .IB system-name !\fR.\fP ! 32: A null \fIsystem-name\fP is interpreted as the local system. ! 33: .PP ! 34: File names may be one of ! 35: .IP ! 36: (1) a full path name; ! 37: .IP ! 38: (2) a path name preceded by ! 39: .BI ~ xxx\^ ! 40: where ! 41: .I xxx\^ ! 42: is a login name on the specified system ! 43: and is replaced by that user's login directory; ! 44: .br ! 45: .IP ! 46: (3) anything else is prefixed by the current directory. ! 47: .PP ! 48: As an example, the command ! 49: .IP ! 50: uux "\^!diff usg!/usr/dan/file1 pwba!/a4/dan/file2 > !~/dan/file.diff\^" ! 51: .PP ! 52: will get the \fBfile1\fP and \fBfile2\fP files ! 53: from the ``usg'' and ``pwba'' machines, ! 54: execute a ! 55: .I diff\^ ! 56: command ! 57: and put the results in \fBfile.diff\fP in the ! 58: local PUBDIR/dan/ directory. ! 59: .PP ! 60: Any special shell characters such as \fB<>;\(bv\fP should be quoted either ! 61: by quoting the entire \fIcommand-string\fP, or quoting the special ! 62: characters as individual arguments. ! 63: .PP ! 64: .I Uux\^ ! 65: will attempt to get all files to the execution system. ! 66: For files that are output files, the file name must be escaped using ! 67: parentheses. ! 68: For example, the command ! 69: .IP ! 70: uux a!cut -f1 b!/usr/file \\(c!/usr/file\\) ! 71: .PP ! 72: get \fB/usr/file\fP from system ``b'' and send it to system ``a'', ! 73: perform a \fIcut\fP command on that file ! 74: and send the result of the ! 75: .I cut ! 76: command to system ``c''. ! 77: .PP ! 78: .I Uux\^ ! 79: will notify you by mail if the requested command on the remote ! 80: system was disallowed. ! 81: This notification can be turned off by the \fB\-n\fP option. ! 82: .PP ! 83: The following \fIoptions\fP are interpreted by ! 84: .IR uux : ! 85: .TP .5i ! 86: .B \- ! 87: The standard input to ! 88: .I uux ! 89: is made the standard input to the ! 90: .IR command-string . ! 91: .TP .5i ! 92: .BI \-a name ! 93: Use ! 94: .I name ! 95: as the user identification replacing the initiator user-id. ! 96: (Notification will be returned to the user.) ! 97: .TP .5i ! 98: .B \-b ! 99: Return standard input to the command if the exit status is non-zero. ! 100: .TP .5i ! 101: .B \-c ! 102: Don't copy local file to the spool directory for transfer to the remote ! 103: machine (default). ! 104: .TP .5i ! 105: .B \-C ! 106: Force the copy of local files to the spool directory for transfer. ! 107: .TP .5i ! 108: .BI \-g grade\^ ! 109: Grade is a single letter/number; ! 110: lower ASCII sequence characters will cause the job to be transmitted ! 111: earlier during a particular conversation. ! 112: .TP .5i ! 113: .B \-j ! 114: Output the jobid ! 115: \s-1ASCII\s+1 string on the standard output which is the job identification. ! 116: This job identification can be used by ! 117: .I uustat\^ ! 118: to obtain the status ! 119: or terminate a job. ! 120: .TP .5i ! 121: .B \-n ! 122: Do not notify the user if the comand fails. ! 123: .TP .5i ! 124: .B \-p ! 125: Same as \-: ! 126: The standard input to ! 127: .I uux ! 128: is made the standard input to the ! 129: .IR command-string . ! 130: .TP .5i ! 131: .B \-r ! 132: Don't start the file transfer, just queue the job. ! 133: .TP .5i ! 134: .BI \-s file\^ ! 135: Report status of the transfer in ! 136: .I file.\^ ! 137: .TP .5i ! 138: .BI \-x debug-level\^ ! 139: Produce debugging output on stdout. ! 140: The debug_level is a number between 0 and 9; ! 141: higher numbers give more detailed information. ! 142: .TP .5i ! 143: .B \-z ! 144: Notify the user if the command succeeds. ! 145: .SH FILES ! 146: .PD 0 ! 147: .TP 22 ! 148: /usr/lib/uucp/spool ! 149: spool directories ! 150: .TP ! 151: /usr/lib/uucp/\(** ! 152: other data and programs ! 153: .PD ! 154: .SH SEE ALSO ! 155: uucp(1C). ! 156: .SH WARNINGS ! 157: Only the first command of a shell pipeline may ! 158: have a ! 159: .IB system-name !\fR. ! 160: All other commands are executed on the system of the first ! 161: command. ! 162: .br ! 163: The use of the shell metacharacter ! 164: .B \(** ! 165: will probably not do what you want it to do. ! 166: The shell tokens ! 167: .B << ! 168: and ! 169: .B >> ! 170: are not implemented. ! 171: .PP ! 172: The execution of commands on remote systems takes place in ! 173: an execution directory known to the uucp system. ! 174: All files required for the execution will be put into this ! 175: directory unless they already reside on that machine. ! 176: Therefore, the simple file name (without path or machine reference) ! 177: must be unique within the uux request. ! 178: The following command will NOT work: ! 179: .IP ! 180: uux "a!diff b!/usr/dan/xyz c!/usr/dan/xyz > !xyz.diff" ! 181: .PP ! 182: but the command ! 183: .IP ! 184: uux "a!diff a!/usr/dan/xyz c!/usr/dan/xyz > !xyz.diff" ! 185: .PP ! 186: will work. ! 187: (If \fIdiff\fR is a permitted command.) ! 188: .SH BUGS ! 189: Protected files and files that are in protected directories ! 190: that are owned by the requestor can be sent in commands using ! 191: .IR uux . ! 192: However, if the requestor is root, and the directory is not searchable ! 193: by "other" or the file is not readable by "other", ! 194: the request will fail due to a bug in setuid(). ! 195: .\" @(#)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.