第 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所示 。
并通过一些实际的例子使读者边学边用,让读者尽快熟悉
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所示 。