第八章 Finger世界
由于数以百万计的人使用Internet,能查明有关某个特定人的一些信 息是很重要的。Finger服务能让我们做到这点,使用一个简单的命令可以 查明Internet某用户的一些公开信息。 在本章,我们将说明Finger服务如何进行,并指出怎样获得用户公开 信息并说明应当怎样进行管理,我们也将解释怎样用这同一服务来提供各 种其它类型的信息。 什么是Finger服务(指名服务) 在第二章,我们说明了一个客户机/ 服务器系统由两个程序构成:一 个请求特定资源的客户机和一个提供该资源的服务器。大多数情况下,客 户机程序和服务器程序在不同的计算机中运行, 当然可能是远程主机。 Finger服务是一个能提供三种主要类型信息的客户机/服务器系统。 首先,使用Finger可以Internet主机内任一用户的某些公开信息,但 显示时可能会将因主机不同而有差异。确实,有些主机基于安全的理由根 本不显示任何用户信息。但是一般说来,大多数主机会提供有关它们用户 的基本信息。 你需要知道的只是某人使用哪一台主机以及他们的用户标识,或名或 姓。根据这类信息,你可以用Finger服务显示出下列部分或全部消息: ·某人的用户标识 使用Finger服务的第二种情况是查看现在谁在使用Internet主机,你 能显示出表明每一个登录了的用户标识的下列部分或全部信息概况: ·用户标识 注意我们用的是标准 Internet 地址。 如我们在第四章阐明的, Internet有个主要的寻址系统,我们凡事都使用它。这样,如同你发送邮 件一样,你使用同样地址finger某人。 下面是根据这样的请求输出的典型例子,现在不要顾及细节,仅需浏 览以了解这种服务是如何工作的。 [fuzzball.ucsb.edu] 在多数Internet系统,有些类型的finger服务器始终运行,准备处理 任何可能到达的请求信息。在Unix系统,这些服务器通常叫做fingerd,“ 指名精灵—finger daemon”(虽然你不一定需要知道这一名称)。 象第五 章说明的那样,精灵是在后台运行的程序,通常提供普通的有趣服务。 在我们谈论Finger服务时,常把单词finger用作动词。例如,假定你 在聚会中遇到一位你期望中的女士(或先生),在分别时,你可能说:“顺 便说一句,你如果需要我的电话号码,指名(finger)我即可。”( 是的, Internet网员确实这样谈话。) 显示有关某人的信息 要显示有关某人的信息,你需要知晓他的计算机地址,也需要知晓他 的用户标识,或名或姓。按下面的格式录入finger命令: finger name@address 例如,你想要显示一个叫Ben Dover的朋友的信息,他在Hong Fatt Noodle公司工作,他的用户标识是bdover,计算机地址是noodle.com。你 可以使用下列命令的任何一个: finger bdover@noodle.com 第一个命令指定了用户标识,如果你知道它,这是最好的用法。如果 不知道,你可以试用名或姓,象第二、三命令那样。然而,如果你这样做, 例如用ben,常会有多个人具有同样的名字,在这种情况下,Finger 服务 器将显示出所有具同样名字的用户的信息。 当你指定名或姓时,是否混合大小写字母无关紧要,比如,上述后两 条命令与下面的一样: finger Ben@noodle.com 当你在一条finger命令中指定名字,规则是姓或名可以大小写字母混 合,但用户标识必须要精确,鉴于实际上所有的用户标识都是小写,所以 最好的做法是均用小写字母。 如果你要Finger某个使用你本地网络计算机的人,你通常仅需指定计 算机名。比如说,你登录一台名为fuzzball.ucsb. edu 的计算机, 你要 finger一个叫Michael Schuster的朋友,他在本地名为furface.ucsb.edu 的计算机上的用户标识为mschuster,你可以用以下任一命令: finger mschuster@furface 如果你想Finger与你使用同一计算机上的某人,你可以省略去全部地 址。比如说,你想Finger在你的计算机上用户标识为achoke,名为Artie Choke的某人,你可以录入以下任一命令: finger achoke 如果Finger服务器找不到你指的人,它不会直接回答。 比如说, 在 noodle.com主机上没有名叫addie的人,而你录入这一命令: finger addie@noodle.com 远程Finger服务器将返回这样的消息: [noodle.com] 不要被弄糊涂了,这条信息不表示有“addie”, 而是表示没有能够 利用的信息,其真实含义是在这个Finger服务器范围内,不存在“addie”。 理解Finger信息 在本节,我们来查看一下Finger会呈现给你的有关某人的信息类型。 各系统之间,它们有所不同,正如你将见到的那样。这里是个典型例子。 开初,你录入以下命令: finger harley@fuzzball.ucsb.edu. 一旦它确定地址有效,finger将显示远程主机名: [fuzzball.ucsb.edu] 稍后,你将见到来自远程Finger服务器的输出信息: Login name:harleyIn real life:Harley Hahn 第一行是有关该用户的基本信息。 在这里, 我们见到用户标识 harley(作为登录的名字)和全名Harley Hahn。 这行你可能遇到一个重要的变化,它象这样: Login name:harley(messages off) In real life:Harley Hahn 记号(messages off)表示某人选择了不想让别人发送消息到他的屏幕, Unix用户可以用mesg命令设置这种选择。 如果你想排遣苦恼,试图finger某人,他可能设置了“messages off” 以求清静,若是如此,该人不会得到你的信息。 Finger输出第二行简单明了:表示某人的电话号码。 下一行显示有关某人帐号的Unix技术信息,directory 是某人工作目 录的名称,是分配给该用户以存储其文件的地方。本行的后面部分是用户 Shell的名称。在此处,我们见到该人使用C—shell(如果我们认得出那个 csh就是C-shell程序的名称)。 你可以忽略作为Finger报告一部分的专门的Unix信息,或许在一定情 况下,知道某人的工作目录和shell名称很重要,在使用Internet 的今后 相当时间内,我们还会遇到这种情况。 下面是Unix技术信息,我们见到某人登录的最后时间,如这样: Last login Wed Apr 21 21:20 on ttyp4 它告诉我们,最近的登录是4月21日下午9点20分, 星期三 ( 记住, Unix和Internet采用24小时制)。 这行的后部分告诉我们某人的终端连接 在他计算机上叫做ttyp4的终端口。大多数情况下, 这是你可以忽视的信 息内容。 如果某人从另一台计算机(例如用Telnet)或从一台终端机登录,你可 以见到该机名,例如: Last login Tue Apr 20 20:33 on ttyp0 from unix1.tcd.ie 如果你finger现已登录的某人,你会见到类似以下的消息: on since Apr 26 09:21:12 on ttyp1 from engrserv. 这个例子中,在4月26日上午9点21分登录的某人仍未退出系统,他使 用一台连接在ttyp1接口的终端,该连接经由engrserv(它碰巧是个终端服 务器)构成。 在你用talk命令交谈之前,finger某人。通过这方式查验是否他已登 录上了并接受信息。 在最后一次登录后,我们见到一些有关邮件的信息。本例中,我们见 到: No unread mail 这告诉我们,某人已阅过并处理了他的所有邮件。你很容易知道在你 向某人发送消息后他是否阅读过此消息。 在邮件状况后面我们见到最后两个条目,叫作Project和Plan。 这两 条信息很重要,因为在任何时候你要显示公开信息时都可以改变它们。稍 后我们将讨论这点。 有没有什么办法去发现别人是否Finger过你没有。 .plan和.project文件 在前一节里,我们观察了一个根据finger命令输出的例子,该输出如 下: Project:Writing books about the Internet and Unix. 最初的finger命令是伯克利的加利福尼亚大学作为他们的Unix计划的 一部分开发的(顺便说一句,作者是Earl T. Cohen.),当时,这命令设计 是为了显示伯克利学术环境的信息。可让教授和学生们告诉其它人他们正 在做的项目。例如,一位教授或许叙述他的研究趣事,一位毕业生或许描 述他的学位论文。还有一位教授可能公布他的上班时间以及什么时候计划 离开城镇去出席会议。 工作的方式是Finger服务器在你的工作目录中寻找两个叫做. project 和.plan的特定文件(在Unix操作系统中, 每一用户有个储存他的文件的 工作目录)。如果有.project文件,Finger 会显示出第一行; 如果有. plan文件,Finger会显示出文件全文。 在Unix操作系统中,以一个符号.开头的文件称做点文件(dotfile)。 当我们谈论这类文件时,把符号.读为“dot”。例如, 我们问某人:“ 你改变了你新的办公时间的点文件了吗?” 点文件的含义要用显示你的文件目录的Unix命令。你使用ls命令跟踪 你的文件。现在,诸如载着你的计划和方案信息的某些文件已为多数人所 需要,你每次列你的文件时见到同样名称文件很是麻烦。 为了解决这一问题,ls命令将不显示以符号.开始的文件名,除非你 采用特别的选择。这样,你可以有象.project和.plan这样名称的文件, 而不必每次列文件时会看到它们。Unix系统使用许多不同的点文件,不过 我们不在这里深入研究其细节。 你要做的是在你的工作目录中建立这些文件并安放你想要提供的任何 信息。记住,Finger将显示整个.plan文件,而仅显示.project 文件的 第一行。如果Finger找不到.plan文件,它将显示这样的信息: No Plan (然而,对.project不存在这样的信息。) 如果不知道其确切意思,这一信息可能使你迷惑。许多人没有建立. plan文件,当你finger这样的人,你将见到标准的公开信息No Plan, 仿 佛指他们的人生在无目的地徘徊之中(虽然这可能是真的情形)。 如何设立自己的.project和.plan文件?你应会使用文本编辑程序。 标准的Unix文本编辑程序叫作vi。另一个常用的编辑程序是Emacs。此外, 还有其它一些这类程序,遗憾的是,使用文本编辑程序的细节恰在本书范 围外。 我们特别建议你学会使用文本编辑程序,例如,它有助于你设计邮件 或创作发送到一个Usenet讨论组的文章。 在你开始学习Unix时,你将碰见有人告诉你vi编辑程序(或Emacs) 难 学,有些人甚至会劝你离开这些程序。 不要听信这些人,他们恰恰是外行,且目光浅短。不会编辑自己的文 件而想充分地使用Internet是不可能的。请接受我们的建议,你确实需要 学习使用文本编辑程序。是的,需要作些练习,但你会为你作出的努力感 到高兴。 同时,可以请教懂得怎样使用文本编辑程序的人以帮助你准备你的. project和.plan文件。 你可以把你的任何信息放入你的.project和.plan文件中。 例如, 如果你有一个聚会,你把去你家的方位放在你的.plan文件中。然后,你 可以邮送请帖给你的宾客,告诉他们:“如果你需要方位,只要finger我。 ”你将发现人们用他们的.plan文件保存各种富有想象力的条目:笑话, 诗,生活评论,计算机字符组成的画面等等。 有关邮件信息的说明 在前节中,我们提到Finger服务器可以告诉你有关某人邮件的事。在 本节,我们将讨论Finger可能显示给你的信息类型,并解释你见到的一切。 首要的是,你应知道finger命令的输出取决于远程主机的Finger服务 器。这样,因finger的主机而异,将得到不同类型的输出。有些Finger服 务器愿意显示邮件信息,而别的系统甚至不会提到它。 象我们在第六章解释的那样,每个用户标识的邮件被保存在邮箱中。 当你finger一个用户,Finger服务器会检查用户的邮箱。服务器会检查访 问该邮箱被打开的最后时间,并将它与最新邮件到达的时间比较。这是你 可能从Finger服务器见到的消息。 如果邮箱是空的,你会见到: No unread mail 如果邮箱不是空的,你会见到三种不同的信息。如果你看到的象这样: Unread mail since Wed Apr 21 20:46:13 1993 问题是可能访问了你的邮箱,但没有读到任何邮件,这将导致Finger 的出错信息。 为什么会这样呢?在第六章中我们已介绍过,可以用from 程序检查是 否有邮件在等待你阅读。from程序并不显示你的邮件,而只显示每个信息 的一行摘要。尽管如此,它也必须访问你的邮箱后才能办到。因此,无论 什么时候用from(或类似程序)检查你的邮件,你信箱的访问时间都要更新, Finger服务器将武断地认为你已读了你的邮件。 在有些系统上可以指定一个命令清单,无论你什么时候登录,清单中 的命令都可以自动执行。有些人每次登录时都借此便利用,from一类的程 序来看邮件摘要。要注意,Finger服务器告诉你的有关某人的情况可能是 错误的。 下面是一个你会遇到麻烦的实例。 你正在进行Syldavians和Bordurians之间关于在St.Vladimir日(即明 天)举行联合军事演习的微妙的外交谈判。这两个国家曾经长期冲突, 因 此,必须尽量随机应变。 你在18:00(下午6:00)发出一条机密的信息给Bordurian的大使,并 急切地等待答复。最后你在22:00(下午10:00)决定finger这位大使,看 发生了什么事。你录入: finger musstler@kurvi-tasch.bo 你看到的部分输出为: Mail last read Wed Apr 21 20:46:13 1993 啊,这位大使已在20:46(下午8:46)读过这个邮件, 这是一个多小 时以前的事了。显然他决定不答复我的信息了。 你告诉了Syldavians,他们马上断定Bordurians肯定正在制定先发制 人的进攻计划,为了在策略上战胜对方,他们立即宣战了。 后来才发现,这位Bordurian大使实际上并没有看你的邮件。 当他登 录时,from命令已经自动地访问了他的邮箱。但是,你finger他的时候, 他正忙着看Usenet讨论组中的笑话,没来得及读他的邮件。 试想那时你多么难堪。 Finger远程主机 到现在为止, 我们的例子都指定了一个特定用户的名字和地址。 Finger用显示有关那个用户的信息方式回应。使用Finger的另一种方法是 只指定地址。远程主机的Finger服务器将显示已登录的所有用户的摘要。 这个命令的格式如下: finger@address 例如: finger@fuzzball.ucsb.edu 当你finger一个远程主机时,请记住在地址前加@符号。 如果没有加 这个符号,Finger将认为你指的是自己计算机的用户。例如,如果你录入: finger fuzzball.ucsb.edu 这好像你正在finger一个你自己计算机上的,名为 fuzzball. ucsb .edu的用户。你将看见如下信息: Login name:fuzzball.ucsb.eduIn real life:??? 如果你想finger一台与你计算机在同一地区网络上的计算机,你通常 可以简写其地址。例如,假如你登录到fuzzball.ucsb.edu,你finger 名 为furface.ucsb.edu的计算机,可使用: finger@furface 如果你想finger你自己的计算机,可省略这个地址: finger 当你Finger一台远程主机时,输出格式可以根据该主机的Finger服务 如何进行而变化。请看下面两个典型例子,第一个是: LoginNameTTYIdle 前二列显示每一个人的用户标识(登录)和名字。第三列显示用户终端 所连接的端口(在Unix中,“TTY”常被用作“终端”的缩写), 这一列的 重要作用是显示这个人是否选择了拒绝信息方式,你会看见一个* (星号) 符号,这是用户标识pmason的情况。 第四列和第五列给你有关这个人活动的不确定信息。“When”列显示 这个人被登录的日期和时间,Idle列显示在那个终端上的活动时间,如果 记录是空白,则表示那个人正在使用自己的终端。否则,你将看见终端空 闲了多长时间,可能是几分钟(如10分钟),几小时几分(如3:05) 或甚至 几天(2天)。 最后一列在Office标题下显示一般信息。因为对于大多数系统,人们 可以随时改变这个信息,因此,这个信息是变化的。 下面是finger远程主机输出的第二个例子。这个例子显示了你可能看 到的另一种普通格式: LoginNameTTYIdleWhenWhere 最后,我们将提到,如果你finger一台现在没有人使用的主机,将看 见如下信息: No one logged in 改变你的个人Finger信息 我们已经介绍了如何使用自己的.project和.plan 文件来显示你想 要的内容。有些系统还允许你改变Finger为你给出的某些其他信息。 如果你有一个Unix系统,请试用chfn(改变finger)命令: chfn 如果这个命令能在你的系统上实现,系统会给你显示提示符。 下面是一个例子。假定你的用户标识是harley,录入chfn命令后,可 看见如下显示: Changing finger information for harley. 在有些系统上你只能改变你的名字。在另一些系统将给你进一步的信 息提示,如房间号码、办公室电话号码、住宅电话号码等等。如果你不想 指定这些条目中的一个,只录入none一词即可。出于礼貌,你至少应让别 人知道你的名字。 有些系统的建立,使得你不能修改自己的Finger信息。如果你的计算 机是这种情况,你必须要求你的系统管理员作一些改动。 安全使用Finger 到现在为止,我们已经叙述了Finger服务如何向你提供Internet用户 的各种信息。但是,你应对几个限制条件和警告有所了解。 第一,并非所有的Internet主机都提供Finger服务。就绝大部分而言, 只有Unix主机提供这种服务,而Internet上有许多非Unix计算机。虽然有 少量非Unix主机有Finger服务,但这并不常见。如果你Finger一台主机, 但未见任何反响,这很可能是你连上了一台非Unix计算机。 第二,许多Unix主机不答复来自本地区网络以外的Finger请求。这可 能是出于安全的原因, 或者仅仅是网络通讯中断了。 例如, 假定你试 finger某个使用名为microsoft.com主机的人; finger billg@microsoft.com 你将看见: [microsoft.com] 第二个限制条件是:并非所有支持Finger服务的远程主机都显示全部 可能的信息。例如,有些主机不向外来者显示.project和.plan 文件的内 容。 也许最重要的是不应该总是相信所看见的。正如我们前面介绍的,有 些系统上的用户可能改变他们的公共Finger信息,甚至改变他们的全名。 如果你使用一个真实名字finger某人没有成功,可能是由于他改变了 这个信息,这种现象在幽默感尚不成熟的学生中间是相当普遍的。 例如,如果你finger一个大学计算机,询问有关用户标识为ugrad-56 情况,你看见真实名字是“James T.Kirk”,可能是一个多疑的男孩。 最后一个限制条件是我们在本章前面所讨论的。Finger可能告诉你某 人已经读了他的邮件,其实他正在显示摘要而没有读到邮件。请不要武断 地下结论。 特殊目的的Finger服务 到现在为止,我们已经看了能使用Finger显示有关某人信息的方法。 许多Internet主机使用 这种同样的服务提供其他种类的特殊信息。 如果你看完这个目录,将看到有些条目告诉你finger一个专门用户标 识和地址,可得到指定的信息。 假如你对试验感兴趣,下面有几个特殊目的的Finger服务,这些服务 是可以得到的。 显示最近的棒球比赛得分: 当时,终端总机房装了一台可口可乐机,程序员们频繁地使用这台机 器喝含咖啡因的饮料提神。后来这个系扩大,从这个机房分出一些程序员 到不同楼层的办公室。他们常常走了很远,来到那台机器旁才发现没有可 口可乐。或者同样糟糕,他们发现在机器中有可口可乐,但时间不够,还 是热的。 他们的解决办法是:在机器中安装开关,以判断可得到多少瓶碳酸饮 料,并跟踪还需多长时间每瓶饮料才冷却。 为了让人们远距离检查这台机器,设立了一个专用Finger服务器。当 你Finger一个专用的用户标识(coke),它将显示这台coke机器容量的状态。 在80年代早期,这个系统曾中断使用。但是近年来,再度受到重视, 术语“coke服务器”现在用于表示类似的系统,不管它是否提供软饮料信 息。现在Carnegie-Mellon的居民不仅可使用coke 服务器检查软饮料机, 而且还可检查糖果机。 如果你想亲自试一下这个服务,有三种方法finger CMU coke服务器。 首先,显示软饮料机状态的基本信息,请录入: finger@coke.elab.cs.cmu.edu finger drink@csh.rit.edu 若需更多的有关(Coke)服务器的情况,请看目录。 威斯康星大学有一个计算机化的coke机,要买饮料,你先登录到这台 机器旁的终端,选择适当的命令。当然,你必须先付费使之记入你的帐户。 如果你想看这个系统的说明,请finger到以下服务器: finger coke@cs.wisc.edu 如果你是一位学者,正在寻找感兴趣的工作,请申请批准在本地区设 立Internet coke服务器。 |