Annotation of researchv10no/cmd/uucp/doc/rtmdiff/dae, revision 1.1.1.1

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.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.