系统管理指南:网络服务

UUCP VALIDATE 选项

只要指定的命令对您的计算机的安全造成潜在危险,就应在使用 COMMANDS 选项的同时使用 VALIDATE 选项。尽管 VALIDATE 提供的命令访问权限比 ALL 更安全,但它也不过是在 COMMANDS 选项之上提高了安全性级别。

VALIDATE 通过交叉检查呼叫计算机的主机名与它使用的登录名,提供一定程度的呼叫者身份验证。以下字符串可确保在 widgetgadget 之外的任何计算机尝试以 Uwidget 身份进行登录时会拒绝连接。


LOGNAME=Uwidget VALIDATE=widget:gadget 

VALIDATE 选项要求拥有权限的计算机具有处理 UUCP 事务的唯一登录名和口令。此验证的重要特征是使与此项关联的登录名和口令受到保护。如果外界人员获取了该信息,便不能再将特定的 VALIDATE 选项视为安全选项。

请认真考虑要授予哪些远程计算机拥有处理 UUCP 事务权限的登录名和口令。为远程计算机提供具有文件访问和远程执行功能的特殊登录名和口令等同于为该计算机上的任何人提供访问您的计算机的普通登录名和口令。因此,如果您不信任远程计算机上的某个人,请勿为该计算机提供拥有权限的登录名和口令。

以下 LOGNAME 项指定,如果声明为 eagleowlhawk 的某个远程计算机登录了您的计算机,则它一定使用了登录名 uucpfriend


LOGNAME=uucpfriend VALIDATE=eagle:owl:hawk 

如果外界人员获取了 uucpfriend 登录名和口令,便很容易进行伪装。

但是,此项与 COMMANDS 选项有什么关系,MACHINE 项中仅包含什么内容呢?此项会将 MACHINE 项(和 COMMANDS 选项)与 LOGNAME 项(与拥有权限的登录名关联)相链接。由于登录远程计算机时不会运行执行守护进程,因此需要此链接。实际上,该链接是不知道哪个计算机发送执行请求的异步进程。因此,真正的问题是:您的计算机如何识别执行文件的来源?

每个远程计算机在您的本地计算机上都有其自己的假脱机目录。这些假脱机目录具有仅为 UUCP 程序提供的写入权限。远程计算机中的执行文件在传输到您的计算机后将被置于其假脱机目录中。uuxqt 守护进程运行时,即可使用假脱机目录名称在 Permissions 文件中查找 MACHINE 项并获取 COMMANDS 列表。或者,如果该计算机名称未出现在 Permissions 文件中,则将使用缺省列表。

以下示例显示 MACHINE 项与 LOGNAME 项之间的关系:


MACHINE=eagle:owl:hawk REQUEST=yes \ 

COMMANDS=rmail:/usr/local/rnews \ 

READ=/ WRITE=/ 

LOGNAME=uucpz VALIDATE=eagle:owl:hawk \ 

REQUEST=yes SENDFILES=yes \ 

READ=/ WRITE=/ 

COMMANDS 选项中的值表示,远程用户可以执行 rmail/usr/local/rnews

在第一项中,必须保证希望呼叫列出的某台计算机时,真正呼叫的是 eagleowlhawk。因此,eagleowlhawk 假脱机目录中的所有文件都是由这些计算机中的某一台放入的。如果远程计算机登录并声明它是这三台计算机中的某一台,则其执行文件将被置于拥有权限的假脱机目录中。因此,必须确认该计算机具有拥有权限的登录名 uucpz