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