系统管理指南:网络服务

第 24 章 UUCP(概述)

本章介绍 UNIX 对 UNIX 复制程序 (UNIX-to-UNIX Copy Program, UUCP) 及其守护进程。具体包含以下主题:

计算机可以通过 UUCP 来传输文件和彼此交换邮件,还可以通过该程序参与大型网络,如 Usenet。

Solaris OS 提供基本网络实用程序 (Basic Network Utilities, BNU) 版本的 UUCP,该版本 UUCP 也称为 HoneyDanBer UUCP。UUCP 一词可以表示组成系统的所有文件和实用程序,而程序 uucp 只是其中的一部分。从用于在计算机之间复制文件的那些实用程序(uucpuuto)到用于远程登录和执行命令的那些实用程序(cuuux),都属于 UUCP 实用程序。

UUCP 硬件配置

UUCP 支持以下硬件配置:

直接链路

通过在两台计算机上的串行端口之间连接 RS-232 电缆,可以在彼此之间创建直接链路。当两台计算机定期通信且彼此之间的实际距离在 50 英尺以内时,直接链路非常有用。可以使用有限距离调制解调器来略微增大此距离。

电话线

计算机可使用高速调制解调器等自动呼叫装置 (Automatic Call Unit, ACU),通过标准电话线与其他计算机进行通信。调制解调器将拨打 UUCP 请求的电话号码。接收端计算机具有的调制解调器必须能够应答传入的呼叫。

网络

UUCP 还可以通过运行 TCP/IP 或其他协议系列的网络进行通信。将计算机设立为网络上的主机后,该计算机即可与连接至网络的任何其他主机进行联络。

本章假设已组装并配置了 UUCP 硬件。如果需要设置调制解调器,请参阅《系统管理指南:基本管理》和调制解调器附带的手册以获取帮助。

UUCP 软件

运行 Solaris 安装程序并选择完整分发时,将自动引入 UUCP 软件。或者,可以使用 pkgadd 命令来添加 UUCP 软件。可以将 UUCP 程序分成三个类别:守护进程、管理程序和用户程序。

UUCP 守护进程

UUCP 系统具有四个守护进程:uucicouuxqtuuschedin.uucpd。这些守护进程可以处理 UUCP 文件传输和命令执行。如果必要,您还可以从 shell 手动运行这些守护进程。

uucico

选择用于链路的设备、建立通往远程计算机的链路,并执行所需的登录步骤和权限检查。另外,uucico 还可以传输数据文件、执行文件以及日志结果,并通过邮件通知用户传输完成。uucico 作为 UUCP 登录帐户的“登录 shell”。当本地 uucico 守护进程调用远程计算机时,它将在会话期间与远程 uucico 守护进程直接进行通信。

创建所有必需的文件后,uucpuutouux 程序将执行 uucico 守护进程,以便与远程计算机联络。uuschedUutry 都将执行 uucico。有关详细信息,请参见 uucico(1M) 手册页。

uuxqt

执行远程执行请求。此守护进程将搜索假脱机目录以找到从远程计算机发送的执行文件(始终命名为 X.file)。 找到 X.file 文件后,uuxqt 会将其打开,以获取执行所需的数据文件列表。随后 uuxqt 将检查以了解所需的数据文件是否可用且可访问。如果文件可用,uuxqt 将检查 Permissions 文件以确认该文件有权执行请求的命令。uuxqt 守护进程由 uudemon.hour shell 脚本执行,该脚本由 cron 来启动。有关详细信息,请参见 uuxqt(1M) 手册页。

uusched

调度假脱机目录中排队的工作。uusched 最初是在引导时通过 uudemon.hour shell 脚本运行的,该脚本由 cron 来启动。有关详细信息,请参见 uusched(1M) 手册页。启动 uucico 守护进程之前,uusched 会对调用远程计算机的顺序进行随机化处理。

in.uucpd

支持通过网络的 UUCP 连接。只要建立了 UUCP 连接,远程主机上的 inetd 就会调用 in.uucpd。随后 uucpd 将提示您输入登录名。调用主机上的 uucico 必须使用登录名来做出响应。随后 in.uucpd 将提示您输入口令(除非不需要口令)。有关详细信息,请参见 in.uucpd(1M) 手册页。

UUCP 管理程序

大多数 UUCP 管理程序都位于 /usr/lib/uucp 中。大多数基础数据库文件都位于 /etc/uucp 中。唯一的例外是 uulog,它位于 /usr/bin 中。uucp 登录 ID 的起始目录为 /usr/lib/uucp。通过 sulogin 运行管理程序时,请使用 uucp 用户 ID。该用户 ID 拥有程序和假脱机数据文件。

uulog

显示指定计算机的日志文件的内容。系统将为与您的计算机进行通信的每台远程计算机创建日志文件。日志文件记录 uucpuutouux 的每一项用途。有关详细信息,请参见 uucp(1C) 手册页。

uucleanup

清除假脱机目录。uucleanup 通常是通过 uudemon.cleanup shell 脚本执行的,该脚本由 cron 来启动。有关详细信息,请参见 uucleanup(1M) 手册页。

Uutry

测试调用处理功能并执行适度调试。Uutry 将调用 uucico 守护进程以便在您的计算机与指定的远程计算机之间建立通信链路。有关详细信息,请参见 Uutry(1M) 手册页。

uucheck

检查 UUCP 目录、程序和支持文件是否存在。uucheck 还可以检查 /etc/uucp/Permissions 文件的某些部分是否存在明显的语法错误。有关详细信息,请参见 uucheck(1M) 手册页。

UUCP 用户程序

UUCP 用户程序位于 /usr/bin 中。使用这些程序不需要特殊权限。

cu

将您的计算机连接到远程计算机,以便可以同时登录这两台计算机。使用 cu,可以在其中任意一台计算机上传输文件或执行命令,而不必删除初始链路。有关详细信息,请参见 cu(1C) 手册页。

uucp

用于将文件从一台计算机复制到另一台计算机。uucp 将创建工作文件和数据文件,对要传输的作业进行排队,并调用 uucico 守护进程,随即该守护进程将尝试与远程计算机进行联络。有关详细信息,请参见 uucp(1C) 手册页。

uuto

将文件从本地计算机复制到远程计算机上的公共假脱机目录 /var/spool/uucppublic/receiveuucp 用于将文件复制到远程计算机上的任何可访问目录中,与之不同的是,uuto 将文件置于适当的假脱机目录中,并指示远程用户使用 uupick 来选取该文件。有关详细信息,请参见 uuto(1C) 手册页。

uupick

使用 uuto 将文件传输到计算机时在 /var/spool/uucppublic/receive 中检索文件。请参见 uuto(1C) 手册页。

uux

创建在远程计算机上执行命令所需的工作、数据和执行文件。有关详细信息,请参见 uux(1C) 手册页。

uustat

显示请求传输(uucpuutouux)的状态。uustat 还提供控制排队传输的方式。有关详细信息,请参见 uustat(1C) 手册页。

UUCP 数据库文件

UUCP 设置的主要部分是组成 UUCP 数据库的文件的配置。 这些文件位于 /etc/uucp 目录中。需要编辑这些文件,才能在您的计算机上设置 UUCP 或 asppp。这些文件包括:

Config

包含变量参数的列表。可以手动设置这些参数以配置网络。

Devconfig

用于配置网络通信。

Devices

用于配置网络通信。

Dialcodes

包含在 Systems 文件项的电话号码字段中可以使用的拨号代码缩写。尽管不需要,但 Dialcodes 仍可由 asppp 和 UUCP 使用。

Dialers

包含与调制解调器协商以便与远程计算机建立连接所需的字符串。Dialersasppp 和 UUCP 使用。

Grades

定义作业等级,以及与每个作业等级关联的权限,用户可以指定针对远程计算机对作业进行排队的权限。

Limits

定义允许在计算机上同时执行的 uucicouuxqtuusched 的最大数量。

Permissions

定义为试图在您的计算机上传输文件或执行命令的远程主机授予的访问权限级别。

Poll

定义系统将要轮询的计算机以及轮询时间。

Sysfiles

uucicocu 使用的不同文件或多个文件指定为 SystemsDevicesDialers 文件。

Sysname

用于为计算机定义唯一的 UUCP 名称(除了定义其 TCP/IP 主机名以外)。

Systems

包含 uucico 守护进程 cuasppp 建立通往远程计算机的链路所需的信息。此信息包括:

  • 远程主机的名称

  • 与远程主机关联的连接设备的名称

  • 可访问主机的时间

  • 电话号码

  • 登录 ID

  • 口令

可以将多个其他文件作为支持数据库的一部分,但这些文件并不直接参与创建链路和传输文件。

配置 UUCP 数据库文件

UUCP 数据库由UUCP 数据库文件中显示的文件组成。但是,基本 UUCP 配置仅包含以下关键文件:

由于 asppp 会使用某些 UUCP 数据库,因此,如果您计划配置 asppp,应至少应了解这些关键数据库文件。配置这些数据库之后,UUCP 管理就会非常简单。一般应先编辑 Systems 文件,然后编辑 Devices 文件。通常,可以使用缺省的 /etc/uucp/Dialers 文件(除非您计划添加缺省文件中不包含的拨号程序)。此外,您可能还需要使用以下文件来执行基本的 UUCP 和 asppp 配置:

由于这些文件彼此联系紧密,因此在进行任何更改之前,您应该先了解其全部内容。 对某个文件中的一项进行更改可能要求对其他文件中的相关项也进行更改。UUCP 数据库文件 中列出的其他文件之间没有密切关系。


注 –

asppp 仅使用本节中介绍的文件。asppp 不使用其他 UUCP 数据库文件。