第 5章 Intranet服务器
本章学习目标
在 Linux系统中, 虽然有很多应用都使用图形界面, 但是
大多数使用和管理 Linux的实用程序和技巧还是通过键入
命令来运行的 。 在本章中, 将介绍一些基本的 Linux命令,
并通过一些实际的例子使读者边学边用, 让读者尽快熟悉
Linux系统 。。 通过对本章的学习, 读者应该掌握以下主
要内容:
? 命令的使用方式
? 文件及目录操作命令
? 文件压缩命令
? 联机帮助命令
? 进程管理的命令
smbclient命令是 Samba提供的一个类似 FTP客户程序的客
Samba客户程序, 用以访问 Windows共享或 Linux提供的 Samba
共享 。 其命令格式为:
smbclient //hostname/sharename -U username
5.1 Samba服务器
5.1.1 Samba简介
1,Samba的基础知识
Samba是一组软件包, 使 Linux支持 SMB协议, 是一套让
Linux系统能够应用 Microsoft网络通讯协议的软件 。 它
使执行 Linux系统的机器能与执行 Windows系统的计算机
进行文件与打印机共享,
2,Samba的主要功能
( 1) 提供 Windows操作系统风格的文件和打印机共享
Windows 98,Windows XP,Windows 2000等以据此共享
Linux等其他操作系统的资源, 外表看起来和共享
Windows资源没有区别, 并支持 Windows客户使用网上邻
居浏览网络 。
( 2) 提供 SMB客户功能:利用 Samba提供的 smbclint程序
可以从 Linux下以类似于 FTP的方式访问 Windows的资
源 。
( 3) 备份 PC上的资源:利用一个叫 smbtar的 shell 脚本,
可以使用 tar 格式备份和恢复一台远程 Windows上的
共享文件 。
( 4)提供一个命令行工具,在其上可以有限制地支持
NT的某些管理功能。
3.Samba组成
一个 samba服务器实际上包含了两个服务器程序,smbd和
nmbd。 Smbd是 samba的核心 。 它负责建立对话进程, 验
证用户身份, 提供对文件系统和打印机的访问机制 。
Nmbd实现了, Network Brower”( 网络浏览服务器 ) 的
功能 。 它的作用是对外发布 samba服务器可以提供的服
务 。
Samba还包含了一些实用工具。 Smbclient是一个 SMB
客户工具,有 shell-based用户界面并同 FTP有些类似。应用
它可以复制其它的 SMB服务器资源,还可以访问其它 SMB服
务器提供的打印机资源。
Testparm命令用来快速检查 smb.conf文件的语法错
误。其它工具用来配置 samba的加密口令文件、配置用于
samba国际化的字符集。
5.1.2 安装与配置 Samba服务器
1,Samba服务器的安装
( 1)如果在安装 Linux时,已经安装的 Samba,就不需要
再安装了。但如果不确定是否已经安装了 Samba,即可使用
下面的命令来确认:
# rpm –qa | grep samba
( 2) 如果确认没有安装 samba,可将 Red Hat Linux 9的第一
张安装光盘放入光盘驱动器中, 然后通过下面的命令进行挂
装:
# mount /mnt/cdrom
( 3) 将终端的当前工作目录切换到 Red Hat Linux 9的安装
光盘的 Red Hat/RPMS目录, 使用如下命令:
# cd /mnt/cdrom/Red Hat/RPMS
( 4) 安装所需要 RPM包 。 使用如下命令:
# rpm –ivh samba-common-2.2.7a-7.9.0.i386.rpm
# rpm –ivh samba -2.2.7a-7.9.0.i386.rpm
# rpm –ivh samba-client-2.2.7a-7.9.0.i386.rpm
( 5) 安装 samba的图形配置工具 。 使用如下命令:
# rpm –ivh redhat-config-samba-1.0.4-1.noarch.rpm
( 6) 弹出光盘 。 使用如下命令:
# cd;eject
2,Samba服务器的配置
Samba服务器的配置步骤如下:
( 1) 启动 Samba 服务器配置工具 。
( 2) 从图 5-1中依次选择, 首选项 → 服务器设置,, 打
开 5-2所示的对话框 。 在, 基本, 标签上, 指定计算机
应在的工作组以及对计算机的简短描述 。 这步操作是今
后在 Windows系统的网上邻居中所看到的计算机名 。
5-2
( 3)下面选中图 5-2中的, 安全性, 选项卡,打开如图 5-
3所示的对话框。这步操作的目的是允许用户从网络中
以什么样的验证方式访问该 Samba服务器。
( 4)管理允许那些用户访问该 Samba服务器,可以添加、
修改、删除用户。
( 5) 添加共享 。 也就是当局域网中的用户登录到 Samba服
务器后, 能够访问那些资源 。 要添加共享, 在图 5-1对话框
的工具条上单击, 添加, 按钮, 打开图 5-6所示的对话框 。
图 5-6 添加共享
在图 5-5中的, 访问, 选项卡上, 选择是否要只允许指定的用
户来访问共享还是允许所有 Samba 用户来访问共享 。 如果选
择了要允许指定用户访问, 从可用的 Samba 用户列表中选择
这些用户 。
当输入或选择完成并确认正确后,单击, 确定, 按钮,共享
就会被立即添加。
5.1.3 启动或停止 Samba服务
安装并配置完 Samba服务器后, 下一步就是启动 Samba服务 。 在
通过 Samba 共享目录的服务器上必须运行 smb 服务 。
( 1) 使用以下命令来查看 Samba 守护进程的状态:
# /sbin/service smb status
( 2) 使用以下命令来启动守护进程:
# /sbin/service smb start
( 3) 使用下面的命令来检验 Samba服务是否被启动 。
# pstree | grep mbd
( 4) 使用以下命令来停止守护进程, 即停止 Samba服务:
# /sbin/service smb stop
( 5) 要在引导时启动 smb 服务, 使用以下命令:
# /sbin/chkconfig --level 345 smb on
这几条命令在终端上的使用及响应结果如图 5-7所示 。
图 5-7 Samba服务的启动与停止
5.1.4 在 Windows的网上邻居中访问 Samba共享
在 Windows的环境中访问 Samba共享可有两种方式, 一
种是通过, 开始 → 搜索计算机,, 然后输入 Samba服务
器所在计算机的 IP地址或计算机名;另一种是通过
Windows的网上邻居来访问 。 下面以网上邻居为例来说
明其访问过程:
( 1) 在 Windows的桌面上, 单击, 网上邻居, 图标, 打
开如图 5-8所示的对话框 。
5-
8
( 2)在图 5-9中显示了该组中在图 5-2中所设置计算机的说明。
双击图中的计算机图标,弹出需要用户输入的登录 Samba服
务器的用户名和密码,如图 5-9所示。
图 5-9 进入 Liubing工作组
( 3) 在图 5-10中输入在图 5-5中创建或修改用户所确定的用
户名和密码 。 这里的用户名是, jly”。
图 5-10 输入登录 Samba服务器的
用户名和密码
( 3) 当正确的输入了登录 Samba服务器的用户名和密码后,
单击, 确定, 按钮就能看到 Samba服务器所提供的资源了,
如图 5-11所示 。
图 5-11 Samba服务器所共享的资源
5.1.5 Linux系统中 Samba服务器的客户端软件
Samba服务器的资源可在 Samba管理工具中进行管理 。 另外,
用户还可以在终端上使用下面的命令来检查服务器所共享
的资源 。
# smbclient –L localhost
图 5-12 检查 Samba服务器所提供的资源
smbclient命令是 Samba提供的一个类似 FTP客户程序的客
Samba客户程序, 用以访问 Windows共享或 Linux提供的 Samba
共享 。 其命令格式为,
smbclient //hostname/sharename -U username
在命令的实际使用过程中, 把 hostname 替换为想连接的
Samba 服务器的主机名或 IP 地址, 把 sharename 替换为想浏
览的共享目录的名称, 把 username 替换成系统的 Samba 用
户名 。 输入正确的口令或按, Enter” 键 ( 若该用户不要求输
入口令 ) 。 需要特别说明的是, 当访问 Windows共享时,
Username参数要使用 Windows计算机中的用户账号, 验证口
令是 Windows计算机中的用户账号的密码;当访问 Linux系统
提供的 Samba共享时, Username参数要使用所访问 Linux系统
中的 Samba服务器所提供的账号, 口令也是 Samba用户的账
号口令 。
如果看到了 smb:\> 提示, 就表示已成功地登录了 。 登录后,
键入 help 来获得一个命令列表 。 如果想浏览主目录的内容,
把 sharename 替换成用户名 。 如果没有使用 -U 选项, 当前
Linux系统的登录用户的用户名就会被传递给 Samba。
要退出 smbclient,在 smb:\> 提示下键入 exit,如图 5-12所示 。
图 5-12 通过 smbclient访问 Samba服务器
另外, 还可以在终端上使用下面的命令来查看 Samba资源
的使用情况 。
# smbstatus
可以使用下面的命令来简要显示 Samba资源的使用情况 。
# smbstatus -b
其在终端上的显示结果如图 5-13所示 。
5.2 NFS服务器
5.2.1 NFS概述
NFS的全称是 Network Files System,网络文件系统 。 NSF是一
种在网络上的机器间共享文件的方法, 文件就如同位于客
户的本地硬盘驱动器上一样 。 Red Hat Linux 既可以是 NFS 服
务器也可以是 NFS 客户, 这意味着它可以把文件系统导出
给其它系统, 也可以挂载从其它机器上导入的文件系统 。
5.2.2 NFS服务的启动和停止
要把自己的文件系统共享出去, 首先保证自己的机器上启
动了 NFS服务 。 启动了 NFS服务就是需要启动一组程序, 包
括装配服务器和 NFS协议服务器 。 可以使用以下命令来启动
NFS 守护进程:
# service nfs start
可使用以下命令来查看 NFS 守护进程的当前状态:
#service nfs status
可使用以下命令来停止 NFS 守护进程:
# service nfs stop
如果修改了 NFS的配置, 可使用以下命令来重新启动国 NFS
的守护进程:
#service nfs restart
该命令在终端上的显示结果如图 5-14所示 。
要在引导时启动 nfs 服务, 使用以下命令:
# chkconfig --level 345 nfs on
5.2.3 NFS服务器的配置
使从 NFS 服务器中共享文件又称导出目录 。 在 Linux系统中
可使用 NFS 服务器配置工具来配置 NFS 服务器 。 要使用
NFS 服务器配置工具, 必须运行 X 窗口系统, 并要具备根
特权, 且安装了 redhat-config-nfs RPM 软件包 。 要启动服务
器配置工具, 可以有以下两种方式:
( 1) 依次单击面板上的, 主菜单系统设置服务器设置 NFS
服务器, 打开如图 5-15所示的对话框 。
( 2) 在终端提示符下键入 redhat-config-nfs 命令, 也可打
开如图 5-15所示的对话框 。
图 5-15 NFS 服务器配置工具
另外, 还要建立一个共享目录, 本书中的例子在, /home”
目录下建立了一个 PUB子目录, 如图 5-16所示 。
下面来说明通过 NFS 服务器配置工具来共享文件的方法, 步
骤如下,
( 1)要添加 NFS 共享,单击图 5-15中的“添加”按钮,打开
如图 5-16所示的对话框。
图 5-17 添加 NFS 共享
在图 5-17中,“基本”活页标签所输入的信息说明:
目录:指定要共享的目录,如 /tmp。主机,指定要共享目录
的主机。主机所输入的信息可以使用以下格式:
n 单个机器:一个全限定域名(能够被服务器解析的),
主机名(能够被服务器解析的),或 IP 地址。
n 使用通配符指定的一系列机器:使用,*”或,?”字符
来指定字符串匹配。通配符不能被用在 IP 地址中;如果逆向
DNS 查寻失败了,通配符可能碰巧会奏效。当你在全限定域
名中指定通配符时,点(,)不包括在 通配符的匹配项目内。
例如,*.example.com 包括 one.example.com,但不包括
one.two.example.com.
n IP 网络,使用 a.b.c.d/z,这里的 a.b.c.d 是网络,z 是子
网掩码中的位数(如 192.168.0.0/24)。另一种可以接受的格式
是 a.b.c.d/netmask,这里的 a.b.c.d 是网络,netmask 是子网掩码
(如 192.168.100.8/255.255.255.0)。
N
n Netgroups:格式为 @group-name,这里的 group-
name 是 NIS netgroup 的名称 。
基本权限:指定目录应该有只读权限还是读写权
限 。
( 2) 单击, 常规选项, 活页标签, 打开如图 5-17所
示的对话框 。
图 5-17,常规选项”活页标签
“常规选项, 活页标签允许配置以下选项:
? 允许来自高于 1024 的端口的连接:在号码小于
1024 的端口上启动的服务必须以根用户身份启动。选择
这个选项来允许根用户以外的用户来启动 NFS 服务。
? 允许不安全的文件锁定:不需要锁定请求。
? 禁用子树检查:如果某文件系统的子目录被导出,
但是整个文件系统没有被导出,服务器会检查所请求的文
件是否在导出的子目录中。这种检查叫做子树检查
( subtree checking)。选择这个选项来禁用子树检查。
如果整个文件系统被导出,选择禁用子树检查可以提高传
输率
? 按要求同步写操作:默认被启用,该选项不允许服
务器在请求被写入磁盘前回复这些请求。
立即强制同步写操作:不推迟写入磁盘的操作。该选
项和 no_wdelay 相对应。
( 3) 单击, 用户访问, 活页标签, 打开如图 5-18所示的对
话框 。
图 5-18,用户访问”活页标签
图 5-19 共享文件添加后的 NFS服务器配置工具
,用户访问, 活页标签允许配置以下选项:
? 把远程根用户当作本地根用户:按照默认设置, 根
用户的用户 ID 和组群 ID 都是 0。 根权限压缩 ( Root
squashing) 把用户 ID 0 和组群 ID 0 映射为匿名的用
户和组群 ID,因此客户上的根用户就不会在 NFS 服务器
上具备根特权 。 如果这个选项被选, 根用户就不会被映射
为匿名用户, 客户上的根用户就会对导出的目录拥有根特
权 。 选择这个选项会大大降低系统的安全性 。 除非绝对必
要, 请不要选择它 。
? 把所有客户用户当作匿名用户,如果该选项被选,
所有用户和组群 ID 都会被映射为匿名用户 。
n 为匿名用户指定本地用户 ID:如果, 把所有客户
用户当作匿名用户, 被选, 这个选项会让为匿名用户指定
一个用户 ID。
n 为匿名用户指定本地组群 ID:如果, 把所有客户
用户当作匿名用户, 被选, 这个选项会让 你为匿名用户
指定一个组群 ID。
( 4) 当确认以上各项都正确输入之后, 单击, 确定, 按
钮 。 共享添加成功, 如图 5-19所示 。
5.2.4 NFS服务器的状态查询
showmount命令可用来显示连接到指定 NFS服务器的所有主
机, 如不指定 NFS服务器, 默认设置为显示当前主机中 NFS
服务器的信息 。 命令格式如下:
showmount [NFS服务器主机地址 ]
另外, 还使用该命令来显示 NFS服务器的输出列表, 命令格
式如下:
showmount –e [NFS服务器主机地址 ]
还可以使用 -d参数来不指定 NFS服务器中已被客户端连接的
所有输出目录, 以及用 - a参数显示指定 NFS服务器的所有
客户端主机及其所连接的目录 。 其命令格式如下:
showmount –d [NFS服务器主机地址 ]
showmount –a [NFS服务器主机地址 ]
5.2.4 NFS的客户端配置
在 Red Hat Linux 9中使用 mount命令可以把网络中 NFS服务
器的共享目录挂载到主机的文件系统中, 就象使用本地文
件系统中的目录一样使用 NFS挂载目录, 用户不会感觉到有
什么不同之处 。 方法如下:
( 1) 显示 NFS服务器的输出共享目录:在使用 mount命令挂
载 NFS服务器的共享目录之前, 使用下面的命令先来查询
NFS服务器中是否允许本机连接相应的共享目录 。
# showmoutn –e 211.85.203.22
( 2) 挂载 NFS服务器中的共享目录:在确认 NFS服务器设置
正确后, 在客户端主机使用 mount命令来挂载 NFS服务器的
共享目录到本地目录 。 mount命令的格式如下:
mount NFS服务器地址,共享目录 本地挂载点目录
特别说明, 在 NFS服务器地址与共享目录之间用,,, 隔开,
挂载点为本地空目录 。 本例中采用在, /mnt”目录下建立一
个 nfs子目录, 然后把用户在 NFS服务器上的共享目录挂载
到本地的空目录 /mnt/nfs上 。 使用命令如下:
# mount lbliubing.com:/home/public /mnt/nfs
该命令在终端上的显示结果如图 5-21所示 。
图 5-21 用户使用 NFS服务器的共享目录
( 3) 当把某个 NFS服务器的共享目录正确的挂载在本地之
后, 可使用如下的命令来查询该目录的挂载状态 。
# mount | grep nfs
( 4) 当用户不需要在使用某个 NFS服务器的共享目录时,
可使用下面的命令来卸载目录的共享 。
# unmount /mnt/nfs
5.3 DHCP服务器
5.3.1 DHCP协议
动态主机配置协议 ( Dynamic Host Configuration
Protocol) 是用来自动给客户机器分配 TCP/IP 信息的网
络协议 。 每个 DHCP 客户都连接到中央位置的 DHCP 服务
器, 该服务器会返回包括 IP 地址, 子网掩码, 网关和
DNS 服务器信息的客户网络配置 。
1,DHCP的工作过程
DHCP工作时要求客户机和服务器进行交互, 由客户机通过
广播向服务器发起申请 IP地址的请求, 然后由服务器分配
一个 IP地址以及其他的 TCP/IP设置信息 。 整个过程可以分
为以下步骤:
( 1) IP地址租用申请
DHCP客户机的 TCP/IP首次启动时, 就要执行 DHCP客户程序,
以进行 TCP/IP 的设置 。 由于此时客户机的 TCP/IP还没有设
置完毕, 就只能使用广播的方式发送 DHCP请求信息包, 广
播包使用 UDP端口 67和 68进行发送, 广播信息中包括了客
户机的网络界面的硬件地址和计算机名字, 以提供 DHCP服
务器进行分配 。
( 2) IP地址租用提供
当接收到 DHCP客户机的广播信息之后, 所有的 DHCP服务器
均为这个客户机分配一个合适的 IP地址, 将这些 IP地址,
网络掩码, 租用时间等信息, 按照 DHCP客户提供的硬件地
址发送回 DHCP客户机 。 这个过程中对 DHCP服务器没有对客
户计算机进行限制, 因此客户机能收到多个 IP地址提供信
息 。
( 3) IP地址租用选择
由于客户机接收到多个服务器发送的多个 IP地址提供信息,
客户机将选择一个 IP地址, 拒绝其他提供的 IP地址, 以便
这些地址能分配给其他客户 。 客户机将向它选择的服务器
发送选择租用信息 。
( 4) IP地址租用确认
服务器将收到客户的选择信息,如果也没有例外发生,将
回应一个确认信息,将这个 IP地址真正分配给这个客户机。
客户机就能使用这个 IP地址及相关的 TCP/IP数据,来设置
自己的 TCP/IP堆栈。
2,IP地址租约更新 。
( 1) 更新租用
在 DHCP中,每个 IP地址是有一定租期的,若租期已到,
DHCP服务器就能够将这个 IP地址重新分配给其他计算机。
( 2) 释放 IP地址租用
客户机可以主动释放自己的 IP地址请求, 也可以不释放,
但也不续租, 等待租期过期而释放占用的 IP地址资源 。
5.3.2 DHCP服务器配置
1,DHCP服务器的安装
在进行 DHCP服务器配置之前, 首先要确认 Linux系统中已经
安装了 DHCP服务器, 可使用下面的命令:
# rpm –qa | grep dhcp
如果没有安装,可 Red Hat Linux 9的第 2张光盘放入光驱
后,输入下面的命令来安装:
# rpm ivh dhcp-3.0pl1-23.i386.rpm
2,DHCP的配置文件
在 Red Hat Linux 9中, DHCP服务器 的配 置文件 是:
/etc/dhcpd.conf,但 Red Hat Linux 9安装后的默认情况
下, 此文件是不存在的 。 用户必须手工建立该文件, 但在
系统在有一个该文件的模板, 其 所 存 贮 位 置 是,
/usr/share/doc/dhcp-3.0pl1/dhcpd.conf,sample,把这
个文件拷贝到, /etc”目录, 并把文件名的后缀改成
,.conf”。 可使用下面的命令:
cp/usr/share/doc/dhcp-3.0pl1/dhcpd.conf.sample /etc/dhcpd.conf
下面通过一个具体的应用来说明如何配置 /etc/dhcpd.conf
文件 。 该应用的具体要求如下:
(1) IP地址的使用范围是,211,211.85.203.101到
211.85.203.200
( 2) 子网掩码,255.255.255.0
( 3) 默认网关是,211.85.203.254
( 4) DNS域名服务器的地址是,211.85.203.22
则 /etc/dhcpd.conf文件的内容如下所示:
ddns-update-style interim;
ignore client-updates;
subnet 211.85.203.0 netmask 255.255.255.0 {
option routers 211.85.203.254;
option subnet-mask 255.255.255.0;
option nis-domain "liubing.com";
option domain-name "liubing.com";
option domain-name-servers 211.85.203.22;
option time-offset -18000;
range dynamic-bootp 211.85.203.101 211.85.203.200;
default-lease-time 21600;
max-lease-time 43200;
host ns {
hardware ethernet 00:02:A5:9C:25:97;
fixed-address 207.175.42.254;
}
}
在局域网的一个 Windows客户端的所获得的地址租约结果如
图 5-22所示 。
从图 5-22中可看出, 该网卡获得的 IP地址是 211.85.203.199。
另外, 从 图 中 可 看 出 该 网 的 物 理 地 址 是,
00:02:A5:9C:25:97,如果想把该物理地址对应的网卡固定
设为 IP地址是,211.85.203.88,那么仅需要把上述文件中

host ns {
hardware ethernet 00:02:A5:9C:25:97;
fixed-address 207.175.42.254;
}
替换为
host ns {
hardware ethernet 00:02:A5:9C:25:97;
fixed-address 211.85.203.88;
}
即可 。 其 Windows客户端的所获得的地址租约结果如图 5-23
所示 。
图 5-22 Windows的 DHCP客户所获得的租约
图 5-23 根据物理地址设定固定 IP地址
3.DHCP服务的重新启动
当修改了 /etc/dhcpd.conf这个 DHCP服务器的配置文件后,
如果想让配置后的功能起作用必须要重新启动 dhcpd服务 。
可使用下面的指令,
# # service dhcpd restart
另外, 还可以使用下面的命令来停止 dhcpd服务:
# # service dhcpd stop
5.3.3 在 Windows和 Linux操作系统中 DHCP客户端的设
置方法
当 DHCP服务器配置成功之后, 各工作站想使用 DHCP服务器
所提供的资源进行相应的设置 。
1,DHCP的 Windows客户端设置
下面以 Windows XP为例来说明其客户端的设置方法:
( 1) 依次单击, 开始 → 控制面板 → 网络连接 → 本地连接,,
打开图 5-24。
( 2) 在图 5-24中单击, 属性, 按钮, 打开, 本地连接属
性, 设置对话框, 如图 5-25所示 。
( 3) 在图 5-25中选择, Internt协议 ( TCP/IP), 后, 单
击, 属性, 按钮, 打开, Internet协议属性, 对话框, 如
图 5-26所示 。
( 4) 在该图中选择, 自动获得 IP地址,, 并单击, 确定,
按钮即完成客户端的设置工作 。
当客户端按照这种方式设置完成后, 可重新启动客户端计
算机, 当计算机重启完成之后, 在 Windows的命令行方式使
用, ipconfig /all”命令进行验证, 命令的响应如图 5-23
和 5-22所示 。 看其 IP地址是不是 DHCP服务器所设置的 IP地
址范围, 某个固定的 MAC地址是否分配的是特定的 IP地址 。
另外有一点要特别说明, 如果按照这种方式取得 IP地址,
那么今后在启动各计算机时要先启动 DHCP服务器, 再启动
DHCP客户端 。
2,DHCP的 Linux客户端设置
Linux的 DHCP客户端的设置与 Window的设置方法相似, 也是
在设置 IP地址时用, 自动获取 IP地址使用,, 如图 4-4所示 。