Chapter 24 UUCP
(Overview)

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 OS 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,
such as within 50 feet of each other.
You can use a limited-distance modem
to increase this distance somewhat.

Telephone lines

By 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 that is capable of answering
incoming calls.

Network

UUCP can also communicate
over a network that runs TCP/IP or
another protocol family. After your
computer has been established as a
host on a network, your computer can
contact any other host that is connected
to the network.

UUCP Software

The UUCP software is automatically
included when you run the Solaris
installation program and select the
entire distribution. Alternatively,
you can add the UUCP software 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 files, execute
files, and results from logs, 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 a password 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 that 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 machine. 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 the
file 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 following:

Name of the remote
host

Name of the connecting
device associated with the remote
host

Time when the host
can be reached

Telephone number

Login ID

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
are not 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 each other, you should understand
all their contents before you make
any changes. 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.