-->
Previous Table of Contents Next


Chapter 39
UUCP

by Tim Parker

In This Chapter
•  UUCP configuration
•  A UUCP connection
•  Direct communications
•  Login scripts
•  Changing access times
•  UUCP security
•  Using UUCP

UUCP (UNIX to UNIX CoPy) was developed to provide a simple dial-up networking protocol for UNIX systems. It is most often used today as an email transfer system, allowing non-networked machines to transfer email easily over a modem connection. It can also be used for USENET news and access to similar services that do not require a dedicated connection. UUCP is a two-machine connection between your Linux machine and another machine running UUCP. UUCP cannot be used as a remote system access system (like FTP or Telnet) nor can it be used as a standard login because the protocols do not support this type of interactive behavior. UUCP does have security features that are adequate for most purposes, but UUCP is the primary source of break-ins for many systems because most system administrators don’t bother to set up the security system properly.

Linux can run any of several different versions of UUCP, most of which are compatible with one another to a reasonable extent, except when it comes to configuration and installation procedures. Many Linux versions offer you a choice between the Taylor UUCP version and the HDB (HoneyDanBer) UUCP. You can use whichever single version came with your Linux software or if you have both, you can choose between the two (or use both versions as the mood strikes you). Many Linux users prefer the Taylor UUCP implementation, while users who have worked on other UNIX systems prefer HDB because it is more recent. We’ll look at both versions in this chapter. (There are even more UUCP versions, but we will ignore them because they are seldom used under Linux.) The first part of the chapter deals with configuring UUCP, and the rest of the chapter covers using it.

UUCP Configuration

Most of the configuration required for UUCP takes place under the /usr/lib/uucp directory. There are several files used by UUCP, most of which need direct administrator modification to set up properly. While the configuration process can seem awfully complex to someone who has never done it before, there are actually only a few files that need changing and only one or two entries in each file.

The configuration process for Taylor UUCP and HDB UUCP are completely different, so we will look at them separately. However, you don’t have to worry about which version of UUCP is being run at the remote end of the connection because both can talk to each other (at least that’s usually the case), as long as the configuration files are set up properly.

Some versions of Linux have semi-automated UUCP configuration scripts. These are more common with HDB UUCP than Taylor UUCP, but a few helpful scripts are also available for the latter. If you have one of these scripts, by all means use it, but do check the files manually afterward.

For the configuration processes discussed in the following section, we will assume that our host machine’s name is merlin, and we want to connect via UUCP to another Linux system called arthur. As you go through the process, take care to enter the information in the same format as the examples, but don’t mix Taylor and HDB UUCP information.

Taylor UUCP Configuration

We can begin with a quick look at the configuration files involved in the Taylor UUCP system. These are the filenames and their primary purposes:

  /usr/lib/uucp/config—Defines the local machine name.
  /usr/lib/uucp/sys—Defines the remote systems and how to call them.
  /usr/lib/uucp/port—Describes each port for calling out and its parameters.
  /usr/lib/uucp/dial—Describes the dialers for calling out.
  /usr/lib/uucp/dialcodes—Used to contain expansions for symbolic dialcodes but is rarely used when a straight-out telephone connection exists.
  /usr/lib/uucp/call—Can contain the login name and password for remote systems, but it is rarely used now.
  /usr/lib/uucp/passwd—Contains the login names and passwords used when remote systems connect to your local machine. Used only when uucico is password checking instead of using the login process.

To make the configuration process easier, we will ignore all the theory and background information and proceed with a sample configuration. You need only modify the entries to suit your own names, telephone numbers, device files, and so on, and the configuration process will be the same. It can then be repeated for as many systems as you want to connect to.

The first file to modify holds your system name and other general parameters. The file /usr/lib/uucp/config needs a single line entry for your system name such as this one:


nodename     merlin

The keyword nodename must be first on the line followed by whitespace (spaces or tabs), then your machine name. The information in this file may have been completed when you installed Linux, but you should manually check the contents to make sure. If your system’s name isn’t set correctly, the connection to the remote system won’t work properly.


Tip:  
To use UUCP, you must have a system name. For compatibility with most versions of UUCP, keep the name to seven characters or fewer. Ideally, the UUCP name is the same name you assigned to your host during configuration. The name doesn’t have to follow a convention (such as the system name used by TCP/IP for Internet access), but if you use other network protocols, keep a consistent name. If you have a domain name (for TCP/IP access) use the first component of the machine’s full TCP/IP name as the UUCP name. For example, if your full domain name is merlin.wizards.com, use the UUCP name merlin.

You also need information about the remote system you want to connect to. The /usr/lib/uucp/sys file holds all the information about remote systems. This file usually has a few sample entries in it, which you can copy or modify. Make sure you don’t leave comment marks (pound or hash marks) in the first column or the entries will be ignored. A /usr/lib/uucp/sys entry for the remote machine merlin looks like this:


# system: arthur (Bill Smallwood’s Linux system)

system    arthur

time     Any

phone     555-1212

port     com1

speed      9600

chat     login: merlin password: secret1


Previous Table of Contents Next