Linux 系统是提供网络服务的绝佳平台。在本节中,我们将尝试概述最常见的网络服务器和应用程序。
向用户提供服务可以通过两种方式进行。守护进程或服务可以以独立模式运行,也可以依赖于另一个服务来激活。
重度或持续使用的网络服务通常以独立模式运行:它们是始终运行的独立程序守护进程。它们很可能在系统启动时启动,并在为它们设置监听的特定连接点或端口上等待请求。当请求到来时,它将被处理,并且监听将继续,直到下一个请求。Web 服务器是一个典型的例子:您希望它每天 24 小时可用,如果它太忙,它应该创建更多监听实例来为同时用户提供服务。其他示例是大型软件档案,例如 Sourceforge 或 您的 Tucows 镜像,它们每天必须处理数千个 FTP 请求。
在您的家用计算机上,独立网络服务的示例可能是 named(名称守护进程),即缓存名称服务器。独立服务有自己的进程在运行,您可以随时使用 ps 查看
bob:~> ps auxw | grep named named 908 0.0 1.0 14876 5108 ? S Mar14 0:07 named -u named |
但是,即使没有为这些服务运行服务器进程,您也可以在 PC 上使用某些服务。示例可以是 FTP 服务、安全复制服务或 finger 服务。这些服务由 Internet 守护进程 (inetd) 代替它们进行监听。
在您的家用 PC 上,情况通常会平静一些。例如,您可能有一个小型网络,并且您可能需要不时地使用 FTP 或 Samba(用于与 MS Windows 机器连接)将文件从一台 PC 传输到另一台 PC。在这些情况下,启动您只需要偶尔使用的所有服务并让它们一直运行将是一种资源浪费。因此,在较小的设置中,您会发现必要的守护进程依赖于一个中央程序,该程序监听它负责的所有服务的端口。
这个超级服务器,即 Internet 服务守护进程,在系统初始化时启动。有两种常见的实现:inetd 和 xinetd(扩展的 Internet 服务守护进程)。通常,每个 Linux 系统上都会运行其中一个
bob:~> ps -ef | grep inet root 926 1 0 Mar14 ? 00:00:00 xinetd-ipv6 -stayalive -reuse \ -pidfile /var/run/xinetd.pid |
Internet 守护进程负责的服务列在其配置文件中,/etc/inetd.conf,对于 inetd,以及在目录/etc/xinetd.d对于 xinetd。常用管理的服务包括文件共享和打印服务、SSH、FTP、telnet、Samba 配置守护进程、talk 和 time 服务。
一旦收到连接请求,中央服务器将启动所需服务器的实例。因此,在下面的示例中,当用户bob启动到本地主机的 FTP 会话时,FTP 守护进程将在会话处于活动状态时运行
bob:~> ps auxw | grep ftp bob 793 0.1 0.2 3960 1076 pts/6 S 16:44 0:00 ncftp localhost ftp 794 0.7 0.5 5588 2608 ? SN 16:44 0:00 ftpd: localhost.localdomain: anonymous/bob@his.server.com: IDLE |
当然,当您打开与远程主机的连接时,也会发生同样的情况:守护进程直接响应,或者远程 (x)inetd 启动您需要的服务并在您退出时停止它。
Sendmail 是 UNIX 平台的标准邮件服务器程序或邮件传输代理。它功能强大、可扩展,并且在适当的硬件配置下,可以处理数千名用户而不会出现问题。有关如何配置 Sendmail 的更多信息包含在 sendmail 和 sendmail-cf 软件包中,您可能需要阅读README和README.cf文件,位于/usr/share/doc/sendmail。 man sendmail 和 man aliases 也很有用。
Qmail 是另一个邮件服务器,因其声称比 Sendmail 更安全而越来越受欢迎。虽然 Sendmail 是一个单体程序,但 Qmail 由可以更好地保护的较小的交互程序部分组成。Postfix 是另一个越来越受欢迎的邮件服务器。
这些服务器处理邮件列表、过滤、病毒扫描等等。免费和商业扫描器可用于 Linux。邮件列表软件的示例有 Mailman、Listserv、Majordomo 和 EZmlm。有关 Linux 客户端和服务器支持的信息,请参阅您喜欢的病毒扫描器的网页。Amavis 和 Spamassassin 是病毒扫描器和垃圾邮件扫描器的免费实现。
远程访问邮件最流行的协议是 POP3 和 IMAP4。IMAP 和 POP 都允许离线操作、远程访问新邮件,并且它们都依赖于 SMTP 服务器来发送邮件。
虽然 POP 是一个简单的协议,易于实现并且几乎所有邮件客户端都支持,但 IMAP 更受青睐,因为
它可以操作持久的消息状态标志。
它可以存储和获取邮件消息。
它可以访问和管理多个邮箱。
它支持并发更新和共享邮箱。
它也适用于访问 Usenet 消息和其他文档。
IMAP 在线和离线工作。
它针对在线性能进行了优化,尤其是在低速链接上。
有大量的文本和图形电子邮件客户端,我们只列举一些常见的。选择您最喜欢的。
UNIX mail 命令已经存在多年,甚至在网络出现之前就存在了。它是一个简单的界面,用于向其他用户发送消息和小文件,然后其他用户可以保存消息、重定向消息、回复消息等等。
虽然它不再常用作客户端,但 mail 程序仍然有用,例如将命令的输出邮寄给某人
mail<future.employer@whereIwant2work.com> < cv.txt
elm 邮件阅读器是对 mail 的急需改进,pine(Pine Is Not ELM)也是如此。mutt 邮件阅读器是更新的,并提供诸如线程之类的功能。
对于那些喜欢图形界面来处理邮件(以及网球肘或鼠标臂)的用户,有数百种选择。新用户最受欢迎的是 Mozilla Mail/Thunderbird,它具有简单的反垃圾邮件配置选项,以及 Evolution,MS Outlook 克隆。Kmail 在 KDE 用户中很受欢迎。
还有数十种可用的 Web 邮件应用程序,例如 Squirrelmail、Yahoo! 邮件、Google 的 gmail 和 Hotmail。
可以通过 Linux 邮件用户 HOWTO 获得概述。
大多数 Linux 发行版都包含 fetchmail,这是一个邮件检索和转发实用程序。它从远程邮件服务器(POP、IMAP 和其他一些服务器)获取邮件,并将其转发到您的本地投递系统。然后,您可以使用普通的邮件客户端处理检索到的邮件。它可以以守护进程模式运行,以指定的间隔重复轮询一个或多个系统。信息和使用示例可以在 Info 页面中找到;目录/usr/share/doc/fetchmail[-<version>]包含完整的功能列表和初学者常见问题解答。
procmail 过滤器可用于过滤传入邮件、创建邮件列表、预处理邮件、选择性转发邮件等。随附的 formail 程序(除其他外)可以生成自动回复和拆分邮箱。Procmail 在 UNIX 和 Linux 机器上已经存在多年,并且是一个非常强大的系统,旨在即使在最坏的情况下也能工作。更多信息可以在/usr/share/doc/procmail[-<version>]目录和手册页中找到。
![]() | 关于电子邮件礼仪的注意事项 |
---|---|
现在有些人似乎认为电子邮件消息不应该太正式。当然,这取决于情况。如果您是写信给您不认识的人,最好保持一定的距离,就像您在传统信件中那样。别忘了:您不认识的人可能是男性或女性... |
Apache 是迄今为止最流行的 Web 服务器,在超过一半的 Internet Web 服务器上使用。大多数 Linux 发行版都包含 Apache。Apache 的优点包括其模块化设计、SSL 支持、稳定性和速度。在适当的硬件和配置下,它可以支持最高的负载。
在 Linux 系统上,服务器配置通常在/etc/httpd目录中完成。最重要的配置文件是httpd.conf;它是不言自明的。如果您需要帮助,可以在 httpd 手册页或 Apache 网站上找到它。
Linux 平台存在许多 Web 浏览器,包括免费的和商业的。Netscape Navigator 作为唯一像样的选择早已成为过去,因为 Mozilla/Firefox 提供了一个有竞争力的替代方案,它可以在许多其他操作系统上运行,例如 MS Windows 和 MacOS X。
Amaya 是 W3C 浏览器。Opera 是一款商业浏览器,紧凑而快速。许多桌面管理器在其文件管理器中提供 Web 浏览功能,例如 nautilus。
流行的基于文本的浏览器包括 lynx 和 links。您可能需要在 shell 中定义代理服务器,方法是设置适当的变量。当没有图形环境可用时,例如在脚本中使用时,文本浏览器快速且方便。
在 Linux 系统上,FTP 服务器通常从 xinetd 运行,使用 WU-ftpd 服务器,尽管 FTP 服务器可以在 FTP 流量大的系统上配置为独立服务器。请参阅练习。
其他 FTP 服务器包括 vsftpd、Ncftpd 和 Proftpd 等。
thomas:~> ncftp blob NcFTP 3.0.3 (April 15, 2001) by Mike Gleason (ncftp@ncftp.com). Connecting to blob... blob.some.net FTP server (Version wu-2.6.1-20) ready. Logging in... Guest login ok, access restrictions apply. Logged in to blob. ncftp / > help Commands may be abbreviated. 'help showall' shows hidden and unsupported commands. 'help <command>' gives a brief description of <command>. ascii cat help lpage open quote site bgget cd jobs lpwd page rename type bgput chmod lcd lrename pdir rhelp umask bgstart close lchmod lrm pls rm version binary debug lls lrmdir put rmdir bookmark dir lmkdir ls pwd set bookmarks get lookup mkdir quit show ncftp / > |
大多数 Linux 发行版都包含 ncftp,它是常见 UNIX ftp 命令的改进版本,您可能也从 Windows 命令行中知道它。ncftp 程序提供了额外的功能,例如更好和更易理解的用户界面、文件名完成、附加和恢复功能、书签、会话管理等等
![]() | 在手册页中可以找到包含大量示例的优秀帮助。同样,有许多 GUI 应用程序可用。 |
---|---|
FTP 是不安全的! |
每个发行版中都有各种客户端和系统可用,取代了旧式的基于 IRC 文本的聊天。最流行的程序的简短而不完整的列表
gaim:适用于 Linux、Windows 和 Mac 的多协议即时消息客户端,与 MSN Messenger、ICQ、IRC 等兼容;有关更多信息,请参阅 Info 页面或 Gaim 站点。
图 10-2。X-Chat
主页位于 SourceForge。
aMSN:MSN 克隆。
Konversation、kopete、KVIrc 和 KDE 套件中的许多其他 K 工具。
gnomemeeting:用于 UNIX 的视频会议程序(现在是 Ekiga)。
jabber:开源即时消息平台,与 ICQ、AIM、Yahoo、MSN、IRC、SMTP 等兼容。
psi:jabber 客户端,请参阅 PSI Jabber 客户端主页。
skype:用于通过 Internet 向其他 Skype 用户拨打类似电话的程序的程序,有关更多信息,请参阅 http://www.skype.com。Skype 是免费的,但不是开源的。
运行 Usenet 服务器涉及大量专业知识和微调,因此请参阅 INN 主页 以获取更多信息。
comp.* 层次结构中有一些有趣的新闻组,可以使用各种文本和图形客户端访问。许多邮件客户端也支持新闻组浏览,请检查您的程序或查看您当地的开源软件镜像,以获取文本客户端,例如 tin、slrnn 和 mutt,或下载 Mozilla 或许多其他图形客户端之一。
所有这些应用程序都需要 DNS 服务来将 IP 地址与主机名匹配,反之亦然。DNS 服务器不知道世界上所有的 IP 地址,但它知道可以查询以查找未知地址的其他 DNS 服务器的网络。大多数 UNIX 系统可以运行 named,它是 Internet 软件联盟分发的 BIND (Berkeley Internet Name Domain) 软件包的一部分。它可以作为独立的缓存名称服务器运行,这在 Linux 系统上经常这样做,以加快网络访问速度。您的主要客户端配置文件是/etc/resolv.conf
search somewhere.org nameserver 192.168.42.1 nameserver 193.74.208.137 |
,它确定了联系域名服务器的顺序有关更多信息,请参见关于 named 的 Info 页面,在/usr/share/doc/bind[-<version>]
DHCP 是 动态主机配置协议,它正在大型环境中逐步取代旧的 bootp。它用于控制重要的网络参数,例如主机的 IP 地址和名称服务器。DHCP 向后兼容 bootp。要配置服务器,您将需要阅读 HOWTO。
10.3.9.1. 传统传统上,用户在本地进行身份验证,使用存储在和/etc/passwd/etc/shadow
在每个系统上的信息。但是,即使在使用网络服务进行身份验证时,本地文件也始终存在,以配置系统帐户以供管理使用,例如 root 帐户、守护进程帐户以及通常用于其他程序和目的的帐户。
bob:~> ls -l /etc/passwd /etc/shadow -rw-r--r-- 1 root root 1803 Mar 10 13:08 /etc/passwd -r-------- 1 root root 1116 Mar 10 13:08 /etc/shadow |
Linux 可以使用 PAM,即 可插拔身份验证模块,这是一种灵活的 UNIX 身份验证方法。PAM 的优点
可用于各种应用程序的通用身份验证方案。
PAM 可以通过各种应用程序实现,而无需重新编译应用程序以专门支持 PAM。
对管理员和应用程序开发人员的身份验证具有极大的灵活性和控制力。
应用程序开发人员无需开发其程序来使用特定的身份验证方案。相反,他们可以纯粹专注于其程序的细节。目录/etc/pam.d包含 PAM 配置文件(以前是/etc/pam.conf
)。文件中的每一行都有四个元素:
模块auth
:提供实际的身份验证(可能要求并检查密码)并设置凭据,例如组成员身份或 Kerberos 票证。account
:检查以确保允许用户访问(帐户未过期,允许用户在一天中的此时登录,等等)。password
:用于设置密码。session
:在用户通过身份验证后使用。此模块执行允许访问所需的其他任务(例如,挂载用户的家目录或使其邮箱可用)。
模块堆叠的顺序(以便可以使用多个模块)非常重要。控制标志:告诉 PAM 在失败或成功时采取哪些操作。值可以是, required, requisitesufficient或.
optional模块路径:要使用的可插拔模块的路径,通常在.
/lib/security
参数:模块的信息
PAM 会自动检测影子密码文件。
轻型目录访问协议是一种客户端-服务器系统,用于通过网络访问全局或本地目录服务。在 Linux 上,使用 OpenLDAP 实现。它包括 slapd(独立服务器);slurpd(独立的 LDAP 复制服务器);实现 LDAP 协议的库以及一系列实用程序、工具和示例客户端。
使用 LDAP 的主要好处是整合组织内的某些类型的信息。例如,组织内所有不同的用户列表都可以合并到一个 LDAP 目录中。任何需要此信息的启用 LDAP 的应用程序都可以查询此目录。需要目录信息的用户也可以访问它。
其他 LDAP 或 X.500 Lite 的优势包括其易于实现(与 X.500 相比)及其定义明确的应用程序编程接口 (API),这意味着启用 LDAP 的应用程序和 LDAP 网关的数量在未来应该会增加。
从负面来看,如果您想使用 LDAP,您将需要启用 LDAP 的应用程序或使用 LDAP 网关的能力。虽然 LDAP 的使用应该只会增加,但目前可用于 Linux 的启用 LDAP 的应用程序并不多。此外,虽然 LDAP 确实支持一些访问控制,但它不具备 X.500 的许多安全功能。
由于 LDAP 是一种开放且可配置的协议,因此它可以用于存储几乎任何类型的与特定组织结构相关的信息。常见的示例包括邮件地址查找、与 PAM 结合的中央身份验证、电话目录和机器配置数据库。
上一页 | 有关详细信息,请参阅您的系统特定信息和相关命令(如 ldapmodify 和 ldapsearch)的手册页。更多信息可以在 LDAP Linux HOWTO 中找到,其中讨论了在 Linux 上安装、配置、运行和维护 LDAP 服务器。本 Linux 简介文档的作者还编写了 LDAP 操作 HOWTO,描述了每个人在处理 LDAP 管理、操作和服务集成时都应该了解的基础知识。 | 下一页 |
主页 | 网络配置和信息 | 向上 |