转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> MySql >> 正文
Linux网络管理员手册(12) 第十二章 管理Taylor UUCP         ★★★★

Linux网络管理员手册(12) 第十二章 管理Taylor UUCP

作者:闵涛 文章来源:闵涛的学习笔记 点击数:3332 更新时间:2009/4/22 20:48:14
cp)来检查你的配置情况。uuchk读入你的配置文件,并打印出用于每个系统的配置值的详细报告。

12.3.5 常用配置选项 – config文件
除了你的UUCP主机名以外,这个文件通常并不包含其它信息。默认地,UUCP将使用你用hostname命令设置的名称,但是明确地设置UUCP名字将是一个好注意。下面示出了一个例子文件:

# /usr/lib/uucp/config – UUCP main configuration file
hostname vstout

当然在这里也可以设置许多各种各样的参数,比如假脱机的目录、或匿名UUCP访问的权限。后者将在后面小节中讨论。

12.3.6 如何告知UUCP有关其它系统的信息 – sys文件
sys文件描述了你的机器要了解的远端系统的信息。一个条目由system关键字引入;随后的几行直到下一个system指令之间的信息详细描述了有关那个站点的参数。通常,一个系统条目将定义电话号码和登录对话等参数。
在头一个system行以前的各个参数设置了用于所有系统的缺省值。一般地,你要在缺省部分中设置协议参数等的信息。
下面,较详细地描述了几个很重要的字段。

系统名称(System Name)
System命令指定了远程系统。你必须指定远程系统的正确名字,而不是你虚构的别名,因为在你登录时uucico将拿它与远程系统所给出的作检查比较。[6]
每个系统名字只能出显一次。如果对同一个系统你想使用几种配置(比如uucico应该尝试的几个不同的电话号码),你可以指定alternates。Alternates将在下面讨论。

电话号码(Telephone Number)
如果远程系统是通过电话线路联系的,phone字段将指定modem将拨号的号码。它可以含有由uucico的拨号过程解释的标记。一个等于符号意思是指等待第二个拨号音,一个破折号产生一秒的暂停时间。比如,有些安装的电话当你在前导码与电话号码之间不暂停时就会止住。

[对此我并不知道适当的英语术语,就象一个公司内部私有安装的电话,当你要接外线时你首先必须拨一个0或9。]

任何内嵌的字符串可以用于隐藏与站点相关的信息,比如区位号。任何象这样的字符串使用dialcode文件都被转换成拨号代码。假如你有以下的dialcode文件:

# /usr/lib/uucp/dialcode – dialcode translation
Bogoham 024881
Coxton 035119

利用这些转换,你可以在sys文件中使用Bogoham7732这样的电话号码,这使得号码变得清晰易读些。

端口与速率(Port and Speed)
port和speed选项用作选择用于呼叫远程系统的设备以及设备应该设置的最高速率。[7]一个system条目可以单独地使用这两个选项,或同时使用它们。当在port文件中查找适当的设备时,只有那些端口名以及/或者速度范围匹配的端口被选中。
通常,使用speed选项就足够了。如果在port中只定义了一个串行设备的话,uucico无论如何将总能选择到一个正确的,所以你只需给它一个所期望的速度即可。如果你的系统上连接了几个modem的话,你通常仍然无须指定一个特定的端口,因为在uucico发现有几个匹配时,它回逐个尝试每个设备直到找到一个未用的设备为止。

登录对话(The Login Chat)
上面,我们已经遇到过登录对话脚本,它告知uucico如何登录进远程系统。它由本地uucico进程指定的期望字符串和发送字符串的一个标记列表组成。目的是为了让uucico等待远程机器发送过来一个登录提示,然后返回登录名称,再等待远程系统发送密码提示,并发送密码。所期望的和发送的字符串是交替给出的。uucico自动地将回车符(carriage return character \r)附加到任何发送的字符串上。这样,一个简单的对话脚本将象这样

ogin: vstout ssword: catch22

你会注意到所期望的字段并没有包含完整的提示。这是为了确信即使远程系统广播了Login:而不是login:时也能登录成功。
uucico同样也允许某些条件执行,例如,在发出提示之前远程机器的getty需要被复位的情况。对于此,你可以将一个子对话附加到一期望字符串上,用一破折号补偿。只有当主要期望失败时,例如超时,子对话才会被执行。使用这个特性的一种方法是在远程站点没有显示一登录提示时发送一BREAK。下面的例子给出了一个多用途的对话脚本,对于你必须在登录显示出来之前按回车的情况也同样能用。””告诉UUCP不要等待任何信息而立刻继续进行下一字符串发送。

“” \n\r\d\r\n\c ogin:-BREAK-ogin: vstout ssword: catch22

在对话脚本中会存在几个特殊的字符串和逃逸字符。下面是在期望字符串中合法的字符的不完整列表:

“” 空字符串。它告知uucico不要等待任何事情,而立刻进行下个字符串的发送处理。

\t Tab字符。

\r 回车(Carriage return)字符。

\s 空格字符。你需要它在对话串中加入空格。

\n 换行符。

\\ 反斜杠字符。

对于发送的字符串,除了上面的字符以外,下面这些字符和字符串也是合法的:

EOT 传输结束字符(^D)(End of transmission character)。

BREAK 中断字符。

\c 在字符串尾压缩回车的发送。

\d 延迟1秒发送。

\E 允许响应(回送echo)检查。在uucico能继续进行对话之前,它要等待写出的所有信息的来自设备的响应被读取到。当用于modem对话时,这是非常有用的(我们将在下面遇到)。缺省地,响应检查是关闭的(off)。

\e 禁止响应检查。

\K 同BREAK。

\p 暂停几分之一秒。

备用(Alternates)
有时,非常希望对于单个系统有多个条目,比如如果系统能通过不同的modem线路到达。对于Taylor UUCP,你可以通过定义一个所谓的alternate来做到。
为了对pablo使用两个电话号码,你要用以下方法修改它在sys中的条目:

system pablo
phone 123-456
… entries as above …
alternate
phone 123-455

当呼叫pablo时,uucico现在将首先拨出号码123-456,如果失败了,就会试用备用的。备用条目维持与主要系统条目所有的设置,仅是电话号码不同而已。

限定呼叫时间(Restricting Call Times)
Taylor UUCP提供了许多方法允许你限制对远程系统呼叫的时间。这样做的原因或者是因为远端主机只在上班时间才提供此类服务,或者简单地只是为了避免高呼叫时间段的费用。注意,通过给uucico选项-S或-f,总是可以覆盖呼叫时间限制。
默认地,Taylor UUCP不允许任意时间的连接,所以你必须在sys文件中使用某些时间的规格说明。如果你不在乎呼叫时间限制的话,那么你可以在你的sys文件中把值Any指定给时间time选项。
限定呼叫时间的最简单的办法是利用time条目,它是由一个日子和时间子字段组成的字符串指定的。日子可以是任何Mo、Tu、We、Th、Fr、Sa、Su的组合,或者是Any、Never、或者平日Wk。时间由两个24小时时钟值组成,由短划线分隔。它们指定了呼叫的时间范围。这些标记的组合之间没有空格。任何数量的日子和时间的说明可以用逗号组合在一起。例如,

time MoWe0300-0730,Fr1805-2000

允许在星期一以及星期三从早上3点到7点30分,以及星期五在18点05分到20点之间进行呼叫活动。当时间字段跨越午夜时,比如Mo1830-0600,它实际上表示星期一,在午夜到早上6点之间,以及在下午6点30分到午夜之间。
特殊的时间字符串Any和Never意思即是它们的本意:分别是指在任何时候都可以进行呼叫和在任何时候都不可以呼叫。
time命令有一个可选的第二个参数,用于描述以分钟计的重试时间。当建立一个连接的企图失败时,uucico在一定时间间隔内将不允许另一次拨号到远程主机的尝试。缺省地,uucico使用一种指数后退方案,这是指重复失败次数越多,那么重试间隔的时间就越长。例如,当你指定5分钟的重试时间时,uucico在距上次失败5分钟之内将拒绝呼叫远程系统。
timegrade命令允许你往时间表上附加一个最大假脱机级别。例如,假设在system条目中你有以下的timegrade命令:

timegrade N Wk1900-0700,SaSu
timegrade C Any

这允许只要呼叫一被建立,那么假脱机级别C或更高的作业(通常,mail是以级别B或C排队的)即可立刻传输,而news(通常以级别N排于队列中)将只能在夜晚和周末传输。
和time一样,timegrade命令将一个以分钟计的重试间隔时间作为第三个可选的参数。
然而,有关假脱机级别的一个告戒是:首先,timegrade选项只应用于你的系统的发送;而远程系统仍然可以随心所欲地传输任何东西。你可以使用call-timegrade选项明确地请求远程系统只发送那些高于假脱机级别的作业;但并不能保证它一定会遵循这个请求。[8]
同样地,当远程系统呼叫进来时,并不会检查timegrade字段,所以任何排队等待这个远程系统的作业都将被发送出去。然而,远程系统可以明确地请求你的uucico来限制自身只发送一定假脱机级别的作业。

12.3.7 有些什么设备 – port文件
port文件告知uucico现有的端口。这些可能是modem端口,但其它类型的端口比如直接串行线路连接和TCP套接字也同样得到支持。
象sys文件一样,port文件由以关键字port开始后接端口名的各个条目构成。这个端口名可以被用于sys文件中的port语句中。这个名字无须是唯一的;如果几个端口有同样的名字,uucico将按顺序地试用每一个端口直到它找到一个空闲的端口。
port命令后必须紧跟描述端口类型的type语句。有效的类型有modem、直接连接的direct、和用TCP套接字的tcp。如果port命令不存在,那么端口类型的缺省值是modem。
在这一小节中,我们将仅讨论modem端口;TCP端口和直接线路连接将在后面的小节中讨论。
对于modem和直接端口,你必须使用device指令指定用于呼出的设备。通常,这是/dev目录中一个设备文件的名字,象/dev/cua1。[9]
对于modem设备的情况,端口条目也确定了那种类型的modem连接在端口上。不同类型的modem要求不同的配置。即使是那些声称Hayes兼容的modem也不一定是互相真正兼容的。因此,你必须告知uucico如何初始化modem以及如何让它拨出所希望的号码来。Taylor UUCP将所有拨号器的描述保存在一个称为dial的文件中。为了要使用其中任何一个,你必须使用dialer命令指定拨号器的名字。
有时候,你会想以不同的方式使用一个modem,这依赖于你呼叫的系统。例如,当一个高速modem试图以14400bps来连接时,某些老式的modem就不能理解;它们只是简单地中断线路而不是协商一个连接速度,比如说,9600bps。当你知道站点drop使用这样一个不灵光的modem时,那么在呼叫它们时,你就必须以不同的方式设置你的modem。针对于此,在port文件中你需要一个指定一个不同的拨号器的额外的端口条目。现在你可以给这个新端口一个不同的名字,比如说serial1-slow,并在sys文件的drop系统条目中用port指令。
一个更好的办法是通过他们所支持的速度来区分它们。例如,上面情况的两个端口入口条目看上去象这样:

# NakWell modem; connect at high speed
port serial1 # port name
type modem # modem port
device /dev/cua1 # this is COM2
speed 38400 # supported speed
dialer nakwell # normal dialer

# NakWell modem; connect at low speed
port serial1 # port name
type modem # modem port
device /dev/cua1 # this is COM2
speed 9600 # supported speed
dialer nakwell-slow # don’t attempt fast connect

对于站点drop的系统入口条目将给出serial1作为端口名,但只请求以9600bps使用它。此时,uucico将会自动地使用第二个端口入口条目。在系统条目中有38400bps速度的所有站点都将被使用第一个端口条目呼叫。

12.3.8 如何拨号 – dial文件
dial文件描述了各种拨号装置(拨号器)的使用方法。传统上,UUCP只谈及拨号器而非modem,因为在早期,只拥有一个(昂贵的)的拨号器来服务于一组modem是很现实的事。如今,大多数modem都有内置的拨号支持,因此这种区别有一些使人混淆。
然而,不同的拨号器或modem需要不同的配置。你可以在dial文件中来描述它们的每一种。dial中的每一个条目都以给出拨号器名字的dialer命令开始。
除此之外最重要的条目是由chat命令指定的modem对话条目。与登录对话类似,它是由一系列uucico发送到拨号器和它所期望的返回响应字符串组成。它通常用于将modem复位到某种已知状态并且进行拨号。下面的拨号器条目样本示出了Hayes兼容modem的一个典型modem对话:

# NakWell modem; connect at high speed
dialer nakwell # dialer name
chat “” ATZ OK\r ATH1EOQO OK\r ATDT\T CONNECT
chat-fail BUSY
chat-fail ERROR
chat-fail NO\sCARRIER
dtr-toggle true

modem对话过程以空字符串“”开始。接下来uucico将送出第一个命令(ATZ)。ATZ是Hayes命令用于复位modem。然后等待modem送回OK,接着送出下一个命令来关闭本地回显,等等。当modem再次返回OK以后,uucico发出拨号命令(ATDT)。该字符串中的逃逸字符序列\T将被从sys文件中的系统条目内的电话号码替换掉。此后,uucico等待modem返回字符串CONNECT,这个字符串表示与远程的modem已经成功地建立了连接。
常常,modem与远程系统的连接会失败,例如,远程系统正在与其它人通话并且线路忙的话。在这种情况下,modem将返回某些出错信息指出失败的原因。Modem对话是没有能力来识别出这种消息的;uucico将继续等待期望的字符串的到来直到超时。因此UUCP的日志文件将只显示出一模糊的“对话脚本超时(timed out in chat script)”信息而非真正的原因。
然而,Taylor UUCP允许你使用上面的chat-fail命令告知uucico有关此类出错消息。在执行modem对话时,当uucico检测出一个对话出错(chat-fail)字符串,它就会放弃这次呼叫,并且将错误消息记录在UUCP的日志文件中。
上面样本例子中所示的最后一个命令告知UUCP在开始modem对话之前转换DTR线的信号。大多数modem能够配置成当检测到DTR线路信号转换时挂断线路,并进入命令模式。[10]

12.3.9 TCP上使用UUCP
初听起来有些荒谬,然而使用UUCP在TCP上传输数据并不是一个坏主意,尤其是当传输象Usenet news这样的大量数据时。在基于TCP的链接上,news通常使用NNTP协议来进行交换的,请求和发送文章是分别进行的,没有压缩也没有进行任何的优化。尽管这适用于有着几个并行的喂信功能的大站点,这种技术对于使用ISDN等慢速连接来接收他们的news的小型站点并不合适。这些站点通常希望能结合TCP大批量发送news的优点,能够将数据压缩传输而只有非常小的过载。批量传输这些数据的一个标准方法就是在TCP上使用UUCP。
在sys中,你要以下面的方法来指定一个系统通过TCP来呼叫:

system gmu
address news.groucho.edu
time Any
port tcp-conn
chat ogin; vstout word; clouseau

address命令给出了主机的IP地址,或者是它的全资域名。相应的port条目将是:

port tcp-conn
type tcp
service 540

这个条目表示当一个sys条目参考使用tcp-conn时将使用一个TCP连接,并且uucico将试图连接到远端主机的TCP网络端口540上。这个端口是UUCP服务的默认端口号。除了端口号,你也可以给service命令一个符号端口名。而与这个名字对应的端口号将在/etc/services中找到。UUCP服务的通用名称是uucpd。

12.3.10 使用直接连接
假设你使用线缆把你的系统vstout和tiny直接连接起来。与使用modem的情况非常相似,你必须在sys文件中写一个系统条目。确定串行端口tiny的port命令被连通起来。

system tiny
time Any
port direct1
speed 38400
chat ogin; cathcart word; catch22

在port文件中,你必须对直接连接描述这个串行端口。不需要dialer条目,因为无须拨号。

port direct1
type direct
speed 38400

12.4 UUCP能做与不能做的 – 调整权限
12.4.1 命令执行
UUCP的任务是将文件从一个系统拷贝至另一个系统,并且请求在远程主机上执行适当的命令。当然,你作为一个管理员会想要控制给予其它系统的权限 – 允许他们能够执行你的系统上的任何命令肯定不是一个好主意。
默认地,Taylor UUCP所允许其他系统在你的机器上执行的仅有的命令是rmail和rnews,它们通常是用于使用UUCP交换email和Usenet news。用于uuxqt的默认搜索路径是一个编译时的选项,通常包含有/bin、/usr/bin和/usr/local/bin。如果想要改变一个特定系统能执行的命令集的话,你可以在sys文件中使用commands关键字。类似地,可以用command-path语句改变搜索路径。例如,除了rmail和rnews命令,你可能还想允许pablo系统能执行rsmtp命令:[11]

system pablo

commands rmail rnews rsmtp

12.4.2 文件传输
Taylor UUCP也允许你非常详细地微调文件的传输。在一个极端情况下,你可以禁止向/从某一特定系统的传输。只需设置request为no,远程系统就不能从你的系统中汲取文件也不能向你的系统发送任何文件。同样地,通过把transfer设置成no,你可以禁止你的用户向一个系统传输文件或从一个系统中传进文件。默认地,本地的和远程的用户是允许上载和下载文件的。
另外,你可以配置进行文件拷贝的目录。通常,你会想要限制远程系统的访问到某一个目录结构中,但仍然允许你的用户从他们的主目录中发送文件。常常,远程用户只被允许从公共的UUCP目录/var/spool/uucppublic中接收文件。这是放置公共文件的传统地方;非常象Internet上的FTP服务。它通常用~字符指示。
因此,Taylor UUCP提供了四种不同的命令用来配置发送和接收文件的目录。它们是local-send,它指定了用户可以要求UUCP从中发送文件的目录列表;local-receive,它给出了用户可以请求UUCP接收文件的目录列表;remote-send和remote-receive,它们针对外部系统做类似的工作。考虑下面的例子:

system pablo

local-send /home ~
local-receive /home ~/receive
remote-send ~ !~/incoming !~/receive
remote-receive ~/incoming

local-send命令允许你的主机上的用户将/home和公共UUCP目录中的任何文件发送到pablo。local-receive命令允许用户将接收到的文件放在uucppublic中的完全可写的receive目录中或/home下任何完全可写的目录中。remote-send命令允许pablo从/var/spool/uucppublic中获取文件,而除了incoming和receive目录下的文件。这是通过在相应的目录名前放置感叹号来指出的。末了,最后一行允许pablo往incoming中上载任何文件。
使用UUCP传输文件的严重问题之一是它仅允许将接收到的文件放到完全可写的目录中。这可能会引诱某些用户对其他用户设置陷阱等等。然而,并没有任何方法来阻止这个问题,除非完全禁止UUCP的文件传输。

12.4.3 转发(Forwarding)
UUCP提供了让其它系统依你的的要求执行文件传输的机制。例如,这允许你使得seci为你从uchile获取一个文件,并将它发送到你的系统。下面的命令将完成这个任务:

$ uucp –r seci!uchile!~/find-ls.gz ~/uchile.files.gz

这种将一个作业通过几个系统传送的技术叫做转发(forwarding)。在上面的例子中,使用转发的原因可能是seci有对uchile的UUCP访问

上一页  [1] [2] [3]  下一页


[教师认证]教师考试:普通心理学听课笔记第十二章  
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台