|
|
1.1 root 1: .Bh
2: Daemons
3: .Sh
4: Data transfer
5: .PP
6: The communication daemon
7: is
8: .I uucico ,
9: rather than
10: .I uuci
11: and
12: .I uuco .
13: If called with no arguments,
14: .I uucico
15: starts in slave mode
16: (like
17: the old
18: .I uuci );
19: if given the flag
20: .B \-r1 ,
21: it starts in master mode,
22: and tries to call out
23: to the system named
24: in a
25: .B \-s system
26: argument
27: (like
28: .I uuco ).
29: Unlike
30: .I uuco ,
31: .I uucico
32: insists that
33: a system be specified.
34: A new program,
35: .I uusched ,
36: searches the spool directory
37: and calls
38: .I uucico
39: once for each system
40: that has work
41: (like
42: .I uuco
43: without arguments).
44: Hence,
45: to call a particular system,
46: use
47: `\c
48: .B "uucico \-r1 \-s" sysname;'
49: to call out to all systems with work queued,
50: `\c
51: .B uusched .'
52: .PP
53: Logins used for incoming traffic
54: should have
55: .I /usr/lib/uucp/uucico
56: as shell,
57: rather than
58: .I uuci .
59: .PP
60: As a compatibility hack,
61: .I uucico
62: is linked to
63: .I uuci
64: and
65: .I uusched
66: is linked to
67: .I uuco.
68: Don't depend on this forever;
69: programs
70: (and password files)
71: which call
72: .I uuci
73: or
74: .I uuco
75: should be fixed.
76: .Sh
77: Remote execution
78: .PP
79: Remote commands
80: called by
81: .I uuxqt
82: are invoked somewhat differently.
83: The old
84: .I uuxqt
85: passed an environment
86: (\c
87: .I environ (7))
88: containing only the definition
89: .B RHOST ,
90: set to the name of the remote system.
91: The command was
92: .I exec ed
93: directly,
94: without involving the shell.
95: The program name argument
96: (\c
97: .I argv [0])
98: was the remote command name
99: given to
100: .I uux ;
101: .I e.g.,
102: .I rmail
103: was invoked with the name
104: .I rmail ,
105: even though it was run
106: with the specific path
107: .I /bin/rmail .
108: The file creation mask
109: (\c
110: .I umask (2))
111: was inherited unchanged from
112: .I uuxqt .
113: .PP
114: In the new system,
115: the remote command
116: inherits environment variables
117: from
118: .I uuxqt ,
119: with four additions:
120: .B PATH
121: is set to
122: .B /bin:/usr/bin ;
123: .B USER
124: to
125: .B uucp ;
126: .B UU_MACHINE
127: to the name of the remote system;
128: .B UU_USER
129: to the login name
130: of the remote user requesting the command.
131: Execution consists of calling
132: .B "/bin/sh \-c
133: with appropriate arguments
134: to set the environment
135: and call the command.
136: For example,
137: if user
138: .I rhino
139: on machine
140: .I hippo
141: sends remote mail
142: to
143: .I sheep ,
144: .I uuxqt
145: might invoke
146: .IP
147: .B
148: sh \-c
149: "PATH=/bin:/usr/bin
150: USER=uucp
151: UU_MACHINE=hippo
152: UU_USER=rhino
153: export PATH UU_MACHINE UU_USER;
154: /bin/rmail sheep"
155: .R
156: .PP
157: .B USER
158: is not exported (why not?).
159: The file creation mask
160: is set to 0.
161: .PP
162: If an explicit pathname for the command
163: is specified in
164: .I Permissions ,
165: that name is fed to the shell,
166: and becomes
167: .I argv [0].
168: .PP
169: Commands which depend on the
170: .I umask
171: or
172: the value of
173: .B PATH ,
174: or which examine
175: .B RHOST ,
176: will need to be changed.
177: .Sh
178: Periodic maintenance
179: .PP
180: .I Uusched
181: and
182: .I uuxqt
183: should be started up periodically,
184: say hourly.
185: .PP
186: .I Uudemon.cleanu *
187: .FS
188: *
189: A victim of V8's refusal to
190: allow filenames
191: even to be expressed in
192: more than 14 characters.
193: .FE
194: cleans up the spool directory.
195: It summarizes the current logfiles,
196: and stores them away.
197: By default,
198: one back copy
199: (yesterday's logs)
200: is kept;
201: more can be saved by
202: specifying the number of days
203: as an argument.
204: Logs are scanned for interesting items,
205: such as failed requests
206: and attempts to steal the password file;
207: anything exciting
208: is mailed to a system administrator.
209: .I Uudemon.cleanu
210: also cleans up dead bodies
211: in the spooling directory;
212: much of this work is done
213: by calling
214: .I uucleanup ,
215: which takes the place
216: of the old
217: .I uuclean .
218: .PP
219: Both
220: .I uudemon.cleanu
221: and
222: .I uudemon.admin
223: look in the environment variable
224: .B mailto
225: for a list of
226: people to grace with mail.
227: If
228: .B mailto
229: is not set,
230: messages are sent
231: to
232: .B uucp .
233: .PP
234: .I Uucrap
235: removes status files
236: which record nothing but the time
237: of the last successful call,
238: and empty spooling directories.
239: This isn't essential,
240: but keeps things cleaner
241: and makes
242: .I uustat
243: less noisy.
244: .PP
245: If a remote machine
246: needs to be polled regularly,
247: it should be entered in
248: .I /usr/lib/uucp/Poll ,
249: and
250: .I uudemon.poll
251: should be run hourly,
252: before
253: .I uusched .
254: This script sets up
255: a dummy command
256: for the system to be polled,
257: so that the next
258: .I uusched
259: will call it.
260: The
261: .I Poll
262: file allows specific hours
263: to be given
264: for the call.
265: .PP
266: A plausible script to be run every hour
267: (usually called
268: .I uudemon.hr )
269: might be
270: .DS
271: .B
272: /usr/lib/uucp/uudemon.poll
273: /usr/lib/uucp/uucrap
274: /usr/lib/uucp/uusched &
275: /usr/lib/uucp/uuxqt &
276: .R
277: .DE
278: .PP
279: A sensible daily script
280: (\c
281: .I uudemon.day )
282: might be
283: .DS
284: .B
285: mailto="fee foe fum" export mailto
286: cd /usr/lib/uucp
287: \&./uudemon.cleanu 7 # save a week's worth of logfiles
288: .R
289: .DE
290: .PP
291: Feel free to customize the maintenance scripts.
292: In particular,
293: .I uudemon.cleanu
294: shoud be fiddled with
295: if you don't care to receive
296: all the junk mail.
297: (They've already been customized a bit;
298: the original
299: .I uudemon.cleanu
300: didn't take arguments.)
301: .Sh
302: Miscellany
303: .PP
304: The shell script
305: .I remote.unknown
306: is invoked
307: when an unknown system calls.
308: The first argument is the system name.
309: The distributed version
310: records the name in
311: .I spool/.Admin/Foreign .
312: If
313: .I remote.unknown
314: doesn't exist
315: or has no execute permissions,
316: calls from unknown systems
317: are accepted.
318: .PP
319: .I IHfix
320: culls out unwanted entries
321: from the NAC distribution.
322: To install a new NAC
323: .I L.sys ,
324: do
325: .IP
326: .B "IHfix Systems NACstuff >Systems.gen
327: .LP
328: You probably don't need to worry about this.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.