3.HONEYDANBERUUCP
有两个主要的UUCP版本,第一个是与UNIX系统V一起颁布的,在本节将称为老UUCP,另一个版本称为HONEYDANBERUUCP,由AT&T颁布.
HONEYDANBERUUCP较之老UUCP有若干改进:
<1>支持更多的拨号和网络:
◆智能自动拨号调制解调器以及标准AT&T技术的801自动拨号器.
◆网络,如DATAKITVCS,UNET/ETHERNET,3COM/ETHERNET,SYTEK,TCP(BSDUNIX系统).
◆连接到LAN的拨号器.
◆X.25永久性虚拟环网(用X.25协议)
<2>重新组织了/usr/spool/uucp目录,在该目录下,对每个远程系统有一个目录.
<3>加强了安全.
◆USERFILE和L.cmds文件组合成一个文件Permissions.
◆可以在一级级系统上指定远程可执行命令.
◆可分别控制文件传入和文件传出.
◆缺省的安全设置很严格.
(1)HONEYDANBERUUCP与老UUCP的差别
HONEYDANBERUUCP中的/usr/lib/uucp/Systems文件是原来UUCP中的/usr/lib/uucp/L.sys.HONEYDANBERUUCP中/usr/spool/uucp/.log下的一个目录代替了老UUCP的文件/usr/spool/uucp/logFILE./usr/spool/uucp/.log中的目录uucico,uucp,uux,uuxqt含有相应命令的记录文件,各目录对应最近处于活跃状态的远程系统都有一个记录文件(记录文件在这些目录中通常保存一个星期).
如果一个调用本系统的远程系统未列于Systems文件中,uucico将不允许该远程系统执行任何操作,而是启动shell程序/usr/lib/uucp/remote.unknown,由UUCP提供的该shell程序的缺省版本将在/usr/spool/uucp/.Admin/Foreign文件中记下远程系统的登录时间,日期及系统名.只要使remote.unknown不可执行,就能禁止这一操作,以达到与老UUCP兼容.
C.,D.,X.,TM.等文件存放在/usr/spool/uucp下的不同目录中,目录名就是文件对应的远程系统名.
在HONEYDANBERUUCP中USERFILE与L.cmds文件合并在一起,这个新文件/usr/lib/uucp/Permissions提供了更灵活的授予外系统存取许可的控制.文件中的规则表定义了可以发出请示的各种系统.规则与选项的格式如下.
rule=listoption=yes|nooption=list... |
(2)登录名规则
LOGNAME规则用于控制作为登录shell启动的uucico.
LOGNAME=nuucp
指定对所有登录到nuucp户头下的系统加缺省限制:
◆远程系统只能发送文件到/usr/spool/uucppublic目录中.
◆远程系统不能请求接收任何文件.
◆当uucico调用远程系统时,才发送已排入队列要发送到该远程系统的文件.这是uucico准确地识别远程系统的唯一方法(任何系统都可调用本系统并冒充是xyz系统).
◆由uuxqtux远程系统的名义可执行的命令是缺省规定的命令,这些缺省命令在编译时定义(通常只有rmail,rnews命令).
◆可用冒号分隔开若干个其它系统的uucico的登录户头.
LOGNAME=nuucp:xuucp:yuucp |
一个LOGNAME规则就足够启动HONEYDANBERUUCP系统.事实上,当该系统运行时,将在Permissions文件中放一个无选项的LOGNAME规则,该规则应用于在/etc/passwd文件入口项shell域中有/usr/lib/uucp/uucico的所有登录户头.
可使用若干选择忽略缺省限制,这些选项可组合,允许或限制各种操作.例如可用WRITE选项指定一个或多个送入文件的目录,而不用被限制送入/usr/spool/uucppublic目录.
LOGNAME=nuucpWRITE=/ |
远程UUCP请求可重写任何有写许可的文件,可指定多个写入文件的目录.用冒号分隔开:
LOGNAME=nnuucpWRITE=/usr:/floppy |
用REQUEST=yes选项可允许远程系统的用户从本系统拷贝文件.
LOGNAME=nuucpREQUEST=yes |
LOGNAME=nuucpREQUEST=yesREAD=/usr |
用SENDFILES=yes选项可允许uucico在远程系统调用本系统时发送出已排队的文件.
LOGNAME=nuucpSENDFILES=yes |
用CALLBACK=yes选项迫使任何登录到指定户头的系统callback.
注意:CALLBACK=yes不能与其它选项组合作用.如果其它选项与这条选项列在一起,其它选项将被忽略.
NOREAD和NOWRITE选项可分别与READ和WRITE选项一起使用.指定NOREAD选项下的目录表,可建立对READ选项的例外处理(即指出READ目录中不能由远程系统请求的目录),例如:
LOGNAME=nuucp,REQUEST=yesREAD=/NOREAD=/etc
该规则允许远程系统请求系统中任何其他人可读的文件,但不包括/etc中的文件,NOWRITE,WRITE的联合用法与上类似.
一般来说,不要将缺省限制改得太多.若本系统被另一系统调去存贮电话费用或系统管理员没有办法拨出,可以用SENDFILE选项.若要对某些机器取消限制,则应当建立一个仅用于那些机器的uucico登录户头.例如:
LOGNAME=nuucp,REQUEST=yesREAD=/NOREAD=/etc |
如系统有信任和非信任的uucp户头,最好用PUBDIR选项为这两种户头建立不同的公共户头,PUBDIR允许系统管理员改变uucico对公共目录的概念(缺省为/usr/spool/uucppublic).例如:
LOGNAME=nuucpSENDFILES=yesREQUEST=yes\ PUBDIR=/usr/spool/uucppublic/nuucp LOGNAME=trustedSENDFILES=yesREQUEST=yesREAD=/WRITE=/\ PUBDIR=/usr/spool/uucppublic/trusted |
用MYNAME选项可以给登录进某一户头的系统赋与一个系统名:
LOGNAME=XuucpMYNAME=IOnker |
(3)MACHINE规则
MACHINE规则用于忽略缺省限制,在MACHINE规则中指定一个系统名表,就可使uucico调用这些系统时改变缺省限制.READ,WRITE,REQUEST,NOREAD,NOWRITE,PUBDIR选项的功能与LOGNAME相同.忽略CALLBACK,SENDFILES选项,MYNAME选项所定义的必须与LOGNAME规则联用,指定将赋给调用系统的名,该名仅当调用所定义的系统时才用.
MACHINE规则的格式如下:
MACHINE=zuul:gozur:enigmaWRITE=/READ=/ |
系统名OTHER用于为指定用户外的所有其他用户建立MACHINE规则.
COMMANDS选项用于改变uuxqt通过远程请求执行的缺省命令表.
MACHINE=zuulCOMMANDS=rmail:rnews:lp |
COMMANDS选项所指定的命令将用缺省设置的路径PATH.PATH在编辑uuxqt时被建立通常设置为/bin:/usr/bin.在COMMANDS选项中给出全路径名可以忽略缺省PATH.
MACHINE=zuulCOMMANDS=umail:/usr/local/bin/rnews:lp |
有两种方法可以证实系统的身份.一种方法是拒绝用CALLBACK=yes与调用系统对话.只要电话和网络线未被破密或改变,局域系统就能肯定地确认远程系统的身份.另一种方法是在LOGNAME规则中用VALIDATE选项.若必须允许某些系统运行"危险"的命令,可联用COMMANDS和VALIDATE选项,
VALIDATE选项用于LOGNAME规则中指定某系统必须登录到LOGNAME规定的登录户头下:
LOGNAME=trustedVALIDATE=zuul MACHINE=COMMANDS=rmail:rnews:lp |