|
|
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.