System Administration Guide: Network Services

Chapter 24 UUCP (Overview)

This chapter introduces the UNIX-to-UNIX Copy Program (UUCP) and its 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 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.


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.

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


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.


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.


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.


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.


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.


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.


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.


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.


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.


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.


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.


Retrieves files in /var/spool/uucppublic/receive when files are transferred to a computer by using uuto. See the uuto(1C) man page.


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.


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:


Contains a list of variable parameters. You can manually set these parameters to configure the network.


Used to configure network communications.


Used to configure network communications.


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.


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.


Defines job grades, and the permissions that are associated with each job grade, which users can specify to queue jobs to a remote computer.


Defines the maximum number of simultaneous uucicos, uuxqts, and uuscheds that are permitted on your machine.


Defines the level of access that is granted to remote hosts that attempt to transfer files or execute commands on your machine.


Defines machines that are to be polled by your system and when they are polled.


Assigns different or multiple files to be used by uucico and cu as Systems, Devices, and Dialers files.


Enables you to define a unique UUCP name for a machine, in addition to its TCP/IP host name.


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:

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:

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.