Chapter 38
Overview of UUCP
This chapter introduces the UNIX-to-UNIX Copy Program (UUCP)
and daemons. The following topics are covered:
UUCP enables computers to transfer files and exchange mail with each
other. The program also enables computers to participate in large networks
such as Usenet.
The Solaris environment provides the Basic Network Utilities (BNU) version
of UUCP, also known as HoneyDanBer UUCP. The term UUCP
denotes the complete range of files and utilities that compose the system,
of which the program uucp is only a part. The UUCP utilities
range from those utilities that are used to copy files between computers (uucp and uuto) to those utilities that are
used for remote login and command execution (cu and uux).
UUCP Hardware Configurations
UUCP supports the following hardware configurations:
Direct links | You can create a direct link to another computer
by running RS-232 cables between serial ports on the two machines. Direct
links are useful when two computers communicate regularly and are physically
close--within 50 feet of each other. You can use a limited-distance modem
to increase this distance somewhat. |
Telephone lines | Using an automatic call unit (ACU),
such as a high-speed modem, your machine can communicate with other computers
over standard phone lines. The modem dials the telephone number that is requested
by UUCP. The recipient machine must have a modem capable of answering incoming
calls. |
Network | UUCP can also communicate over a network that runs TCP/IP
or an other protocol family. After your computer has been established as a
host on a network, it can contact any other host that is connected to the
network. |
This chapter assumes that your UUCP hardware has already been assembled
and configured. If you need to set up a modem, refer to System Administration Guide: Basic Administration and the manuals that accompanied the modem for assistance.
UUCP Software
The UUCP software is automatically included when you run the Solaris
installation program and select the entire distribution. Alternatively, you
can add it by using pkgadd. The UUCP programs can be divided
into three categories: daemons, administrative programs, and user programs.
UUCP Daemons
The UUCP system has four daemons: uucico, uuxqt, uusched, and in.uucpd.
These daemons handle UUCP file transfers and command executions. You can also
run them manually from the shell, if necessary.
uucico | Selects the device that is used for
the link, establishes the link to the remote computer, and performs the required
login sequence and permission checks. Also, uucico transfers
data and execute files, logs results, and notifies the user by mail of transfer
completions. uucico acts as the "login shell"
for UUCP login accounts. When the local uucico daemon calls
a remote machine, it communicates directly with the remote uucico daemon during the session. After all the required
files have been created, uucp, uuto, and uux programs execute the uucico daemon to contact the remote computer. uusched
and Uutry all execute uucico. See the uucico(1M)
man page for details. |
uuxqt | Executes remote execution requests.
This daemon searches the spool directory for execute files (always named X.file) that have been sent from a remote
computer. When an X.file
file is found, uuxqt opens it to get the list of data files
that are required for the execution. uuxqt then checks
to see if the required data files are available and accessible. If the files
are available, uuxqt checks the Permissions
file to verify that it has permission to execute the requested command. The uuxqt daemon is executed by the uudemon.hour
shell script, which is started by cron. See the uuxqt(1M)
man page for details. |
uusched | Schedules the queued work in the spool
directory. uusched is initially run at boot time by the uudemon.hour shell script, which is started by cron.
See the uusched(1M)
man page for details. Before starting the uucico daemon, uusched randomizes the order in which remote computers are called. |
in.uucpd | Supports UUCP connections over networks.
The inetd on the remote host invokes in.uucpd whenever a UUCP connection is established. uucpd
then prompts for a login name. uucico on the calling
host must respond with a login name. in.uucpd then prompts
for a password, unless one is not required. See the in.uucpd(1M) man page
for details. |
UUCP Administrative Programs
Most UUCP administrative programs are in /usr/lib/uucp.
Most basic database files are in /etc/uucp. The only
exception is uulog, which is in /usr/bin.
The home directory of the uucp login ID is /usr/lib/uucp. When running the administrative programs through su or login, use the uucp
user ID. The user ID owns the programs and spooled data files.
uulog | Displays the contents of a specified
computer's log files. Log files are created for each remote computer with
which your machine communicates. The log files record each use of uucp, uuto, and uux. See the uucp(1C) man
page for details. |
uucleanup | Cleans up the spool directory. uucleanup is normally executed from the uudemon.cleanup shell script, which is started by cron. See
the uucleanup(1M)
man page for details. |
Uutry | Tests call-processing capabilities
and does moderate debugging. Uutry invokes the uucico daemon to establish a communication link between your machine
and the remote computer you specify. See the Uutry(1M) man page for details. |
uucheck | Checks for the presence of UUCP directories,
programs, and support files. uucheck can also check certain
parts of the /etc/uucp/Permissions file for obvious syntactic
errors. See the uucheck(1M)
man page for details. |
UUCP User Programs
The UUCP user programs are in /usr/bin. You do
not need special permission to use these programs.
cu | Connects your machine to a remote computer
so that you can log in to both machines at the same time. cu
enables you to transfer files or execute commands on either machine without
dropping the initial link. See the cu(1C) man page for details. |
uucp | Lets you copy a file from one machine
to another. uucp creates work files and data files, queues
the job for transfer, and calls the uucico daemon, which
in turn attempts to contact the remote computer. See the uucp(1C) man page for details. |
uuto | Copies files from the local machine
to the public spool directory /var/spool/uucppublic/receive
on the remote machine. Unlike uucp, which lets you copy
a file to any accessible directory on the remote machine, uuto
places the file in an appropriate spool directory and tells the remote user
to pick it up with uupick. See the uuto(1C) man page for details. |
uupick | Retrieves files in /var/spool/uucppublic/receive when files are transferred to a computer by using uuto. See the uuto(1C)
man page. |
uux | Creates the work, data, and execute
files that are needed to execute commands on a remote machine. See the uux(1C) man page
for details. |
uustat | Displays the status of requested transfers
(uucp, uuto, or uux). uustat also provides a means of controlling queued transfers. See
the uustat(1C)
man page for details. |
UUCP Database Files
A major part of UUCP setup is the configuration of the files that compose
the UUCP database. These files are in the /etc/uucp
directory. You need to edit these files to set up UUCP or asppp
on your machine. The files include the following:
Config | Contains a list of variable parameters.
You can manually set these parameters to configure the network. |
Devconfig | Used to configure network communications. |
Devices | Used to configure network communications. |
Dialcodes | Contains dial-code abbreviations that can
be used in the phone number field of Systems file entries.
Though not required, Dialcodes can be used by asppp as well as UUCP. |
Dialers | Contains character strings that are
required to negotiate with modems to establish connections with remote computers. Dialers is used by asppp as well as UUCP. |
Grades | Defines job grades, and the permissions
that are associated with each job grade, which users can specify to queue
jobs to a remote computer. |
Limits | Defines the maximum number of simultaneous uucicos, uuxqts, and uuscheds
that are permitted on your machine. |
Permissions | Defines the level of access that is
granted to remote hosts that attempt to transfer files or execute commands
on your machine. |
Poll | Defines machines that are to be polled
by your system and when they are polled. |
Sysfiles | Assigns different or multiple files
to be used by uucico and cu as Systems, Devices, and Dialers
files. |
Sysname | Enables you to define a unique UUCP
name for a machine, in addition to its TCP/IP host name. |
Systems | Contains information that is needed
by the uucico daemon, cu, and asppp to establish a link to a remote computer. This information
includes the name of the remote host, the name of the connecting device associated
with the remote host, time when the host can be reached, telephone number,
login ID, and password. |
Several other files can be considered part of the supporting database
but are not directly involved in establishing a link and transferring files.
Configuring UUCP Database Files
The UUCP database consists of the files that are shown in "UUCP Database Files".
However, basic UUCP configuration involves only the following critical files:
/etc/uucp/Systems
/etc/uucp/Devices
/etc/uucp/Dialers
Because asppp uses some of the UUCP databases, you
should understand at minimum these critical database files if you plan to
configure asppp. After these databases are configured,
UUCP administration is fairly straightforward. Typically, you edit the Systems file first, then edit the Devices
file. You can usually use the default /etc/uucp/Dialers
file, unless you plan to add dialers that aren't in the default file. In addition,
you might also want to use the following files for basic UUCP and asppp configuration:
/etc/uucp/Sysfiles
/etc/uucp/Dialcodes
/etc/uucp/Sysname
Because these files work closely with one another, you should understand
all their contents before you change any one of them. A change to an entry
in one file might require a change to a related entry in another file. The
remaining files that are listed in "UUCP Database Files" are not as critically
intertwined.
Note - asppp uses only the files that are described
in this section. asppp does not use the other UUCP database
files.