启动UUCP
第25 章• 管理UUCP(任务) 501
uudemon.poll Shell 脚本
缺省uudemon.poll shell 脚本每小时读取一次/etc/uucp/Poll 文件。如果安排轮询Poll 文件
中的所有计算机,则会将工作文件(C.sysnxxxx) 放在/var/spool/uucp/nodename 目录中。
nodename 表示计算机的UUCP节点名称。
安排shell 脚本在uudemon.hour 之前每小时运行一次,以便在调用uudemon.hour 时工作文件
处于正确位置。
uudemon.hour Shell 脚本
缺省uudemon.hour shell 脚本执行以下操作:
调用uusched 程序以在假脱机目录中搜索尚未处理的工作文件(C.)。然后,脚本会安排
将这些文件传输到远程计算机。
调用uuxqt 守护进程以在假脱机目录中搜索执行文件(X.),这些文件已传送到您的计算
机,但在传送时尚未对其进行处理。
缺省情况下,uudemon.hour 每小时运行两次。如果预计远程计算机调用失败率比较高,则
可能需要更频繁地运行uudemon.hour。
uudemon.admin Shell 脚本
缺省uudemon.admin shell 脚本执行以下操作:
运行带有p 和q 选项的uustat 命令。q 报告已排队的工作文件(C.)、数据文件(D.) 和执
行文件(X.) 的状态。p 列显锁定文件(/var/spool/locks ) 中列出的联网进程的进程信
息。
使用mail 将产生的状态信息发送到uucp 管理登录。
uudemon.cleanup Shell 脚本
缺省uudemon.cleanup shell 脚本执行以下操作:
从/var/uucp/.Log 目录中收集各台计算机的日志文件,合并这些文件,并将这些文件放
入包含其他旧日志信息的/var/uucp/.Old 目录中。
删除假脱机文件中保存了七天或七天以上的工作文件(C.) 和数据文件(D.),以及保存了
两天或两天以上的执行文件(X.)。
将无法传送的邮件返回给发件人。
将当日收集的状态信息摘要发送给UUCP管理登录(uucp)。
启动UUCP
502 系统管理指南:网络服务• 2006 年8 月
运行基于TCP/IP 的UUCP
要在TCP/IP 网络中运行UUCP,需要按照本节中的说明进行一些修改。
如何针对TCP/IP 激活UUCP
成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《System
Administration Guide: Security Services》中的“Configuring RBAC (Task Map)”。有关如何使用
主管理员配置文件配置角色,请参见《System Administration Guide: Basic Administration》中
的第2 章,“WorkingWith the Solaris Management Console (Tasks)”。
编辑/etc/uucp/Systems 文件以确保项中具有以下字段:
System-Name Time TCP Port networkname Standard-Login-Chat
典型项与以下内容类似:
rochester Any TCP - ur-seneca login: Umachine password: xxx
请注意,networkname 字段允许您显式指定TCP/IP 主机名。此功能对于一些站点很重要。
在上面的示例中,该站点具有UUCP节点名称rochester,该名称与TCP/IP 主机名
ur-seneca 不同。此外,完全不同的计算机可以轻易运行UUCP并具有TCP/IP 主机名
rochester。
Systems 文件中的Port 字段应具有项-。此语法等效于将该项列为uucp。几乎在所有情况
下,networkname 都与系统名相同,并且Port 字段为-,这表示将使用services 数据库中的
标准uucp 端口。in.uucpd 守护进程期望远程计算机发送其登录名和口令以进行验证,并且
in.uucpd 会提示输入登录名和口令,这与getty 和login 很相似。
编辑/etc/inet/services 文件以设置UUCP 端口:
uucp 540/tcp uucpd # uucp daemon
您不需要更改项。但是,如果计算机运行的是NIS 或NIS+ 名称服务,则应更改
/etc/services 的/etc/nsswitch.conf 项以便先检查files,然后检查nis 或nisplus。
验证是否已启用UUCP。
# svcs network/uucp
UUCP服务由服务管理工具管理。要查询此服务的状态,可以使用svcs 命令。有关服务管
理工具的概述,请参阅《System Administration Guide: Basic Administration》中的第14 章,
“Managing Services (Overview)”。
(可选的)如果需要,请通过键入以下内容来启用UUCP:
# inetadm -e network/uucp
1
2
3
4
5
运行基于TCP/IP 的UUCP
第25 章• 管理UUCP(任务) 503
UUCP安全和维护
设置UUCP之后,很显然需要进行维护。本节介绍与安全、维护和疑难解答有关的各项
UUCP任务。
设置UUCP安全
缺省/etc/uucp/Permissions 文件可最大程度地确保UUCP链路的安全。缺省Permissions
文件不包含任何项。
可以为每台远程计算机设置其他参数以定义以下内容:
远程计算机从您的计算机接收文件的方法
远程计算机具有读写权限的目录
远程计算机可用于远程执行的命令
典型Permissions 项如下所示:
MACHINE=datsun LOGNAME=Udatsun VALIDATE=datsun
COMMANDS=rmail REQUEST=yes SENDFILES=yes
此项允许向“标准”UUCP目录(而非系统中的任何位置)发送文件,或从该目录接收文
件。此项还将使UUCP用户名在登录时得到验证。
定期UUCP维护
UUCP不需要很多维护工作。但是,必须确保crontab 文件位于第501 页中的“如何启动
UUCP”一节中所述的位置。您应关注邮件文件和公共目录大小的增加。
UUCP电子邮件
UUCP程序和脚本生成的所有电子邮件都将发送到用户ID uucp。如果不经常以该用户身份
登录,可能不会意识到邮件不断地增加并占用了磁盘空间。要解决此问题,请在
/etc/mail/aliases 中创建一个别名,并将此类电子邮件重定向到root 或您自己以及负责维
护UUCP的其他人员。修改aliases 文件之后,请记住运行newaliases 命令。
UUCP公共目录
目录/var/spool/uucppublic 是每个系统中缺省情况下UUCP可以复制文件的位置。每个用
户都具有转至/var/spool/uucppublic 并读写该目录中的文件的权限。但是,该目录的
Sticky 位已设置,目录的模式为01777。因此,用户不能删除已复制到该目录中的文件和属
于uucp 的文件。只有您(以root 或uucp 身份登录的UUCP管理员)可以删除该目录中的
文件。要防止该目录中的文件毫无控制地增加,应确保定期删除其中的文件。
UUCP 安全和维护
504 系统管理指南:网络服务• 2006 年8 月
如果用户不方便进行此维护,建议使用uuto 和uupick,而不要删除出于安全原因而设置的
Sticky 位。有关使用uuto 和uupick 的说明,请参见uuto(1C) 手册页。也可以将目录的模式
限制为仅适用于某组用户。如果不希望出现某用户将磁盘填满的情况,甚至可以拒绝
UUCP访问磁盘。
UUCP疑难解答
这些过程介绍如何解决常见UUCP问题。
如何检查有故障的调制解调器或ACU
可以使用多种方法检查调制解调器或其他ACU 工作是否正常。
成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《System
Administration Guide: Security Services》中的“Configuring RBAC (Task Map)”。有关如何使用
主管理员配置文件配置角色,请参见《System Administration Guide: Basic Administration》中
的第2 章,“WorkingWith the Solaris Management Console (Tasks)”。
通过运行以下命令获取联系失败的计数和原因:
# uustat -q
通过特定线路呼叫并尝试列显调试信息。
必须在/etc/uucp/Devices 文件中将该线路定义为direct。如果要将该线路连接至自动拨
号器,必须在命令行的结尾添加电话号码,否则必须将该设备设置为direct。请键入:
# cu -d -lline
line 为/dev/cua/a。
如何调试传输
如果无法联系特定计算机,可以使用Uutry 和uucp 检查与该计算机的通信。
成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《System
Administration Guide: Security Services》中的“Configuring RBAC (Task Map)”。有关如何使用
主管理员配置文件配置角色,请参见《System Administration Guide: Basic Administration》中
的第2 章,“WorkingWith the Solaris Management Console (Tasks)”。
尝试联系:
# /usr/lib/uucp/Uutry -r machine
1
2
3
1
2
UUCP 疑难解答
第25 章• 管理UUCP(任务) 505
将machine 替换为无法联系的计算机的主机名。此命令执行以下操作:
启动包含调试的传送守护进程(uucico)。如果您是root,则可以获取更多调试信息。
将调试输出定向到/tmp/machine。
通过发出以下命令将调试输出列显到终端:
# tail -f
按Ctrl-C 组合键以终止输出。如果要保存输出,可以从/tmp/machine 中复制输出。
如果Uutry 未确定该问题,请尝试将作业排队:
# uucp -r file machine\!/dir/file
file 使用要传送的文件的名称。
machine 使用要复制到的计算机的名称。
/dir/file 指定其他计算机的文件的位置。
发出以下命令:
# Uutry
如果仍然无法解决问题,可能需要联系当地的支持代表。请保存可以帮助诊断问题的调试
输出。
注– 也可以通过-x n 选项来降低或升高Uutry 提供的调试级别。n 表示调试级别。Uutry 的缺
省调试级别为5。
调试级别3 提供有关建立连接的时间和方式的基本信息,而不提供很多关于传输的信息。但
是,调试级别9 会提供有关传输过程的详细信息。请注意,调试在传送开始和结束时都将进
行。如果要对中等大小的文本使用高于5 的级别,可以联系其他站点的管理员以决定更改该
级别的时间。
检查UUCP/etc/uucp/Systems 文件
如果在联系特定计算机时出现问题,请验证Systems 文件中是否具有最新的信息。对于某个
计算机而言,可能过期的信息包括:
电话号码
登录ID
口令
3
4
UUCP 疑难解答
506 系统管理指南:网络服务• 2006 年8 月
检查UUCP错误消息
UUCP有两种类型的错误消息:ASSERT 和STATUS。
异常中止进程时,将会在/var/uucp/.Admin/errors 中记录ASSERT 错误消息。这些消息
包括文件名、sccsid、行号和文本。这些消息通常由于系统问题而产生。
STATUS 错误消息存储在/var/uucp/.Status 目录中。该目录包含您的计算机尝试与其通
信的每台远程计算机的独立文件。这些文件包含已尝试通信的状态信息以及通信是否成
功的状态信息。
检查基本信息
可以使用多个命令检查基本联网信息:
使用uuname 命令列出您的计算机可以联系的那些计算机。
使用uulog 命令显示特定主机的日志目录的内容。
使用uucheck -v 命令检查uucp 需要的文件和目录是否存在。此命令还将检查
Permissions 文件,并显示有关已设置的权限的信息。
UUCP 疑难解答
第25 章• 管理UUCP(任务) 507
508
UUCP(参考)
本章提供有关使用UUCP的参考信息。具体包含以下主题:
第509 页中的“UUCP/etc/uucp/Systems 文件”
第515 页中的“UUCP/etc/uucp/Devices 文件”
第521 页中的“UUCP/etc/uucp/Dialers 文件”
第526 页中的“其他基本UUCP配置文件”
第528 页中的“UUCP/etc/uucp/Permissions 文件”
第535 页中的“UUCP/etc/uucp/Poll 文件”
第535 页中的“UUCP/etc/uucp/Config 文件”
第536 页中的“UUCP/etc/uucp/Grades 文件”
第538 页中的“其他UUCP配置文件”
第539 页中的“UUCP管理文件”
第540 页中的“UUCP错误消息”
UUCP/etc/uucp/Systems 文件
/etc/uucp/Systems 文件包含uucico 守护进程与远程计算机建立通信链路所需的信息。
/etc/uucp/Systems 是配置UUCP时需要编辑的第一个文件。
Systems 文件中的每个项都代表一台与您的主机进行通信的远程计算机。某台特定主机可以
对应多个项。附加的项代表按顺序尝试的备用通信路径。此外,缺省情况下UUCP阻止
/etc/uucp/Systems 中未包含的任何计算机登录您的主机。
可以使用Sysfiles 文件定义多个要用作Systems 文件的文件。有关Sysfiles 的说明,请参
见第527 页中的“UUCP/etc/uucp/Sysfiles 文件”。
以下是Systems 文件中项的语法:
System-Name Time Type Speed Phone Chat Script
请参见以下示例了解Systems 文件中的项。
26 第2 6 章
509
示例26–1 /etc/uucp/Systems 中的项
Arabian Any ACUEC 38400 111222 ogin: Puucp ssword:beledi
Arabian 对应系统名称字段的项。有关更多信息,请参见第510 页中
的“/etc/uucp/Systems 文件中的系统名称字段”。
Any 对应时间字段的项。有关更多信息,请参见第510 页中的
“/etc/uucp/Systems 文件中的时间字段”。
ACUEC 对应类型字段的项。有关更多信息,请参见第511 页中的
“/etc/uucp/Systems 文件中的类型字段”。
38400 对应速度字段的项。有关更多信息,请参见第511 页中的
“/etc/uucp/Systems 文件中的速度字段”。
111222 对应电话字段的项。有关更多信息,请参见第512 页中的
“/etc/uucp/Systems 文件中的电话字段”。
ogin: Puucp ssword:beledi 对应聊天脚本字段的项。有关更多信息,请参见第512 页中
的“/etc/uucp/Systems 文件中的聊天脚本字段”。
/etc/uucp/Systems 文件中的系统名称字段
此字段包含远程计算机的节点名。在TCP/IP 网络上,此名称可以是计算机的主机名,也可
以是特别通过/etc/uucp/Sysname 文件为UUCP通信创建的名称。请参见第509 页中的
“UUCP/etc/uucp/Systems 文件”。在示例26–1 中,系统名称字段包含代表远程主机
Arabian 的项。
/etc/uucp/Systems 文件中的时间字段
此字段指定可呼叫远程计算机的周日期和时间。时间字段的格式如下:
daytime[;retry]
时间字段的day 部分
day 部分可以是包含以下某些项的列表。
Su Mo Tu We Th Fr Sa 对应于各个周日期。
Wk 对应于任意工作日。
Any 对应于任意一天。
Never 您的主机永远不会启动对远程计算机的呼叫。
呼叫必须由远程计算机启动。随后,您的主机
UUCP /etc/uucp/Systems 文件
510 系统管理指南:网络服务• 2006 年8 月
工作在被动模式下。
时间字段的time 部分
示例26–1 中的时间字段为Any,它指示可以随时呼叫主机Arabian。
time 部分应该是以24 小时表示法指定的时间范围,例如0800-1230 表示从8:30 a.m. 到12:30
p.m.。如果未指定time 部分,则假设允许在一天的任何时间执行呼叫。
允许跨0000 的时间范围。例如,0800-0600 表示允许在6 a.m. 到8 a.m. 之外的任何时间执行
呼叫。
时间字段的retry 部分
可以在retry 子字段中指定尝试失败后重试之前的最短时间(以分钟为单位)。缺省等待时
间为60 分钟。该子字段分隔符为分号(;)。例如,Any;9 解释为可随时执行呼叫,但出现故
障后至少要等待9 分钟才可重试。
如果未指定retry 项,则会使用指数补偿算法。这意味着UUCP将以缺省等待时间开始,并
且该等待时间会随失败尝试次数的增加而不断增加。例如,假设初始重试时间为5 分钟。
如果没有任何响应,则下一次重试将在10 分钟后进行。接下来的重试将在20 分钟后进行,
依此类推直至达到最长重试时间23 小时为止。如果指定了retry,则指定的值始终为重试时
间。否则,将使用补偿算法。
/etc/uucp/Systems 文件中的类型字段
此字段包含与远程计算机建立通信链路所应使用的设备类型。此字段中使用的关键字应与
Devices 文件项的第一个字段匹配。
示例26–2类型字段中的关键字
Arabian Any ACUEC, g 38400 1112222 ogin: Puucp ssword:beledi
通过在类型字段中添加协议,可以定义与系统联系时采用的协议。上例显示如何将协议g
附加到设备类型ACUEC 中。有关协议的信息,请参见第520 页中的“/etc/uucp/Devices 文
件中的协议定义”。
/etc/uucp/Systems 文件中的速度字段
此字段(也称为类字段)指定建立通信链路时所使用设备的传输速度。UUCP速度字段可
以包含字母和速度(如C1200 或D1200)以区分拨号器的类。请参阅第517 页中的
“/etc/uucp/Devices 文件中的类字段”