第 10章网络服务器
10-1 Samba服务器
10-1-1 SMB协议与 Samba简介
10-1-2 Samba服务器配置基础
10-1-3 桌面环境下配置 Samba服务器
10-1-4 编辑文件配置 Samba服务器
10-1-5 Windows计算机 访问 Samba共享
10-1-6 Linux桌面环境下访问 Windows共享
10-1-7 与 Samba服务相关的 Shell命令
10-1-8 设置 SMB打印机
10-1-1 SMB协议与
Samba简介
SMB( Server Message Block,服务信息块)协议是实现网络上不同类型计算机之间文件和打印机共享服务的协议。
Samba是一组使 Linux支持 SMB协议的软件,基于 GPL
原则发行,源代码完全公开。
Samba的核心是两个守护进程 smbd和 nmbd
– smbd守护进程负责建立对话、验证用户、提供文件和打印机共享服务等;
– nmbd守护进程负责实现网络浏览。
Samba服务器打印机
Windows客户机Windows客户机工作组打印机
10-1-2 Samba
服务器配置基础
1,smb.conf文件
[Global]节:定义 Samba服务器的全局参数 。
[Homes]节:定义共享用户主目录 。
[Printers]节:定义打印机共享 。
[自定义目录名 ]节:定义用户自定义的共享目录 。
( 1) 全局参数
( 2) 共享资源参数
2,Samba服务器的安全级别共享 ( Share),用户 ( User),域 ( Domain),服务器 ( Sever),活动目录域 ( ADS)
3,Samba共享权限
与 smb.conf文件中设定的共享权限有关
与其本身的文件系统权限有关
10-1-3 桌面环境下配置 Samba服务器
「主菜单」 =>「系统设置」 =>「服务器设置」 =>「 Samba服务器」,打开
「 Samba服务器配置」 窗口
1,配置服务器参数
2,配置 Samba用户
3,配置共享目录
10-1-4 编辑文件配置 Samba服务器
1,利用 Shell命令添加 Samba用户格式,smbpasswd -a 用户名功能:将 Linux用户设置为 Samba用户,并设置其口令 。
无,-a”选项时可修改已有 Samba用户的口令 。
[例 10-1] 将名为 jerry的 Linux用户设置为 Samba用户 。
# smbpasswd -a jerry
2,Samba服务器配置实例
[例 10-3] 架设共享级别的 Samba服务器,所有 Windows计算机的用户均可读写 /tmp目录,当前工作组为 net。
第 1步:利用任何文本编辑工具,新建 smb.conf文件 。
第 2步:利用 testparm命令测试配置文件是否正确 。
第 3步:重新启动 Samba服务 。
第 4步:利用 testparm命令测试配置文件是否正确 。
第 5步:重新启动 Samba服务 。
10-1-5 Windows计算机访问 Samba共享
Windows计算机需要安装 TCP/IP协议和
NETBIOS协议
在 Windows计算机的桌面上双击网上邻居,可找到 Samba服务器,双击即可。
如果 Samba服务器的安全级别是用户,那么首先会出现 「输入网络密码」 对话框。
10-1-6 Linux桌面环境下访问 Windows共享
如果局域网中的 Samba 服务器成功启动,
Windows计算机也提供文件共享,那么 Linux计算机就可以访问 Windows计算机中的共享资源 。
单击 「 主菜单 」 =>「 网络服务器 」,将显示
Linux计算机所处局域网中的所有工作组,双击工作组名称,可以查看该工作组中的所有计算机,双击 Window计算机,弹出 「 需要验证 」
对话框,输入所访问 Windows计算机的用户名和口令,并单击 「 确定 」 按钮,,验证成功后可访问 Window计算机的共享目录 。
10-1-7 与 Samba服务相关的
Shell命令( smbclient )
1,smbclient命令格式,smbclient [-L NetBIOS名 |IP地址 ] [共享资源路径 ] [-U 用户名 ]
功能,查看或访问 Samba共享资源 。
[例 10-7] 某 Samba服务器名为 RHEL3,查看 jerry用户可访问的共享资源 。
# smbclient –L RHEL3 –U jerry
[例 10-8] 访问名为 Windows2000的计算机提供的共享目录 rong。
# smbclient //windows2000/rong
10-1-7 与 Samba服务相关的
Shell命令( smbstatus )
2,smbstatus命令格式,smbstatus
功能:查看 Samba共享资源被使用的情况 。
[例 10-9] 查看 Samba共享资源当前被使用的情况 。
10-1-7 与 Samba服务相关的
Shell命令 ( smbmount )
3,smbmount命令格式,smbmount //主机名 |IP地址 /共享目录 挂载点功能:挂载共享目录 。
[例 10-10] 将名为 windows2000计算机中的共享目录 rong挂载到 /mnt/smb目录,假设 /mnt/smb目录不存在 。
10-1-8 设置 SMB打印机
由于 Linux中可使用的打印机型号较少,在实际应用中 Linux计算机经常利用 Samba服务器来共享局域网中的 Windows计算机上安装打印机。
– Windows计算机中不仅要将已安装打印机设置为共享,还必须设置 Microsoft网络文件和打印机共享。
– Linux计算机也必须安装共享的 SMB打印机。
单击 「主菜单」 =>「系统设置」 =>「 Printing」
将出现 「打印机配置」 窗口
Linux中打印文件时只需选择使用 SMB打印机即可,而要管理打印作业必须在 Windows计算机上进行。
10-2 DNS服务器
10-2-1 DNS服务简介
10-2-2 DNS服务器的类型
10-2-3 DNS服务器配置基础
10-2-4 DNS主域名服务器配置实例
10-2-5 DNS辅助域名服务器配置实例
10-2-6 测试 DNS服务器
10-2-1 DNS服务简介
域名服务是 TCP/IP网络中极其重要的网络服务,
其实现域名与 IP地址之间的转换功能 。 域名系统采用分布式数据系统结构,主要由:
– 域名空间:结构化的域名层次结构和相应的数据 。
– 域名服务器:以区域 ( zone) 为单位管理指定域名空间中的服务器数据,并负责其控制范围内所有主机的域名解析请求 。
– 解析器:负责向域名服务器提交解析请求 。 Internet
域名空间中,域 ( domain) 是其层次结构的基本单位 。 整个 Internet的域名系统采用树状层次结构,
从上到下依次为根域,顶级域,二级域,三级域,
并以此扩展 。
10-2-2 DNS服务器的类型
Linux中使用 DNS服务器软件 Bind,运行守护进程 named可完成网络中的域名解析任务;可建立如下的 DNS服务器类型:
– 主域名服务器 ( Master Server)
– 辅助域名服务器 ( Slave Server)
– 缓存域名服务器 ( Caching Only Server)
10-2-3 DNS服务器配置基础
1,named.conf文件
( 1) options语句
( 2) zone语句
2,区域文件
( 1) SOA记录
( 2) NS记录
( 3) A记录
( 4) CNAME记录
( 5) MX记录
( 6) PTR记录
10-2-4 DNS主域名服务器配置实例
假设需要配置一个符合以下条件的主域名服务器:
( 1) 域名注册为 linux.com,网段地址为 202.120.92.*。
( 2) 主域名服务器的 IP地址为 202.120.92.10,主机名为 rhel3.linux.com。
( 3) 要解析的服务器有,www.linux.com( IP地址为
202.120.92.10 ),ftp.linux.com ( IP 地址为
202.120.92.15) 。
第 1步:向 named.conf文件添加如下内容 。
第 2步:创建如下内容 linux.com.zone文件,保存于 /var/named
目录 。
第 3步:创建如下内容 202.120.92.rev文件,保存于 /var/named
目录 。
第 4步:启动 named守护进程 。
第 5步:查看 /var/log/messages文件,了解 DNS服务是否成功
10-2-5 DNS辅助域名服务器配置实例
假设需要配置一个符合以下条件的主域名服务器和辅助域名服务器 。
( 1) 域名注册为 linux.com,网段地址为 202.120.92.*。
( 2 ) 主 域名服务器 的 IP 地址为 202.120.92.10,主机名 为
rhel3.linux.com。
( 3) 辅助域名服务器的 IP 地址为 202.120.92.20,主机名为
second.linux.com。
( 4 ) 要 解 析 的 服 务 器 有,www.linux.com ( IP 地址为
202.120.92.10),ftp.linux.com( IP地址为 202.120.92.15) 。
1:向主域名服务器的 named.conf文件添加区域声明
2:编辑主域名服务器的 linux.com.zone文件
3:编辑主域名服务器的 202.120.92.rev文件,内容如下所示
4:启动主域名服务器的 named守护进程,应查看 /var/log/messages文件确保 DNS服务器工作正常 。
5:编辑辅助域名服务器的 named.conf文件,添加如下内容 。
6:修改辅助域名服务器中 /var/named目录的所有者 。 /var/named目录的默认所有者是
root,应将其修改为 named,否则无法从主域名服务器获取区域文件 。
7:启动辅助域名服务器的 named守护进程,应查看 /var/log/messages文件确保正确无误 。
10-2-6 测试 DNS服务器介绍 host命令格式,host [选项 ] 主机名 |IP地址功能:查看域名所对应 IP地址或查看 IP地址所对应的域名 。
[例 10-11] 查看域名 www.linux.com所对应的 IP地址 。
10-3 WWW服务器
10-3-1 WWW服务简介
10-3-2 Apache服务器配置基础
10-3-3 访问控制与认证
10-3-4 实现访问控制和认证
10-3-5 个人 Web站点
10-3-6 虚拟 主机
10-3-7 桌面环境下配置 Apache服务器
10-3-1 WWW服务简介
WWW服务系统采用客户机 /服务器工作模式,
客户机与服务器都遵循 HTTP协议,默认采用
80端口进行通信。
WWW服务器负责管理 Web站点的管理与发布,
通常使用 Apache,Microsoft IIS等服务器软件 。
WWW客户机利用 Internet Explorer,Netscape、
Mozilla等网页浏览器查看网页 。
RHEL 3 AS默认安装 Apache软件包。
WWW 服务器
WWW客户机
<-- HTTP请求
WWW客户机
<-- HTTP请求
HTTP响应 -->
10-3-2 Apache服务器配置基础
Apache服务器的所有配置信息都保存在
/etc/httpd/conf/httpd.conf文件,而根据
Apache服务器的默认设置,Web站点的相关文件保存在 /var/www目录,而 Web
站点的日志文件保存于 /var/log/httpd目录。
– ( 1) 全局参数
– ( 2) 默认 Web站点的相关参数
10-3-3 访问控制与认证
1,访问控制
– Deny:定义拒绝访问列表 。
– Allow:定义允许访问列表 。
– Order:指定执行允许访问列表和拒绝访问列表的先后顺序 。
all:表示所有客户 。
域名:表示域内的所有客户,如 linux.com。
IP地址:可指定完整的 IP地址或部分 IP地址,如 192.168.0.20。
Order allow,deny:表示先执行允许访问列表再执行拒绝访问列表,默认情况下将拒绝所有没有明确被允许的客户 。
Order deny,allow:
2,认证
– AuthName 领域名称:指定用户认证领域的名称 。
– AuthType Basic|Digest:设定用户认证的方式,一般只使用 Basic。
– AuthUserFile 文件名:指定认证用户文件名及其保存路径 。
– AuthGroupFile 文件名:指定认证组群文件名及其保存路径 。
Require 用户名列表:授权给指定的用户 。
Require 组群名列表:授权给指定的组群 。
Require valid-user:授权给认证用户文件中所有的用户 。
3,认证用户文件格式,htpasswd [选项 ] 认证用户文件名 用户名功能:设置指定的认证用户及其认证口令 。
主要选项说明,-c,-D
[例 10-13] 将 jerry设置为认证用户,认证用户文件为 /var/www/userpass尚未创建 。
10-3-4 实现访问控制和认证
o Apache服务器可针对目录进行访问控制和认证,并可选择使用以下方法来实现 。
o 编辑 httpd.conf文件,直接设置指定目录的访问控制和认证的相关参数 。
o 在指定目录下创建,htaccess文件,访问控制和认证相关的参数均保存在,htaccess文件 。
[例 10-17] /var/www/html/test目录中所有网页文件只允许认证用户
jerry在 IP地址为 202.120,92.20的主机上访问 。
方案一:在 httpd.conf文件中直接设置访问控制和认证参数 。
第 1步:在 /var/www/html目录下新建 test目录,并创建 index.html文件 。
第 2步:编辑 httpd.conf文件,添加如下内容 。
第 3步:根据 httpd.conf的设置内容,创建 Apache的认证用户文件
/var/www/userpass,并将 jerry设置为认证用户 。
第 4步:重新启动 apache服务 。
10-3-5 个人 Web站点
首先要修改 Apache服务器的配置文件 httpd.conf,允许每个用户架设个人 Web站点 。
默认情况下用户主目录中的 public_html子目录是用户个人 Web站点的根目录 。
访问用户的个人 Web站点时,应在输入,http://IP地址 |
域名 /~用户名,格式的 URL。
第 1步:修改 httpd.conf文件,设置 mod_userdir.c模块的内容,允许用户架设个人 Web站点。
第 2步:管理员可以根据实际需要设置用户个人 Web站点的访问权限。
</Directory>
第 3步:凡是要建立个人 Web站点的用户都必须在其用户主目录中建立
public_html子目录,并将相关的网页文件保存于此 。
第 4步:修改用户主目录的权限,添加其他用户的执行权限 。
第 5步:重新启动 httpd进程后,可访问用户的个人 Web站点,如图 10-27所示 。
10-3-6 虚拟 主机
Apache服务器也可利用虚拟主机功能在一台服务器上设置多个 Web站点。
– 基于 IP地址的虚拟主机
– 基于域名的虚拟主机。
都必须在 httpd.conf文件中设置 VirtualHost语句块。
1,基于 IP地址的虚拟主机
( 1) 利用相同 IP地址的不同端口设置虚拟主机
( 2) 利用不同的 IP地址设置虚拟主机
2,基于域名的虚拟主机
10-3-7 桌面环境下配置 Apache服务器
「主菜单」 =>「系统设置」 =>「服务器设置」 =>「 HTTP」
1,基本设置
2,服务器设置
3,性能设置
4,主机的默认设置
( 1) 常规选项
( 2) 站点配置
( 3) 记录日志
( 4) 环境变量
( 5) 目录
5,添加虚拟主机
10-4 FTP服务器
10-4-1 FTP服务简介
10-4-2 Vsftpd服务器配置基础
10-4-3 配置 Vsftpd服务器
10-4-4 测试 Vsftpd服务器
10-4-1 FTP服务简介
用户利用 FTP客户机程序连接到远程主机上的
FTP服务器程序 。 然后向服务器程序发送命令,
服务器程序执行用户所发出的命令,并将执行结果返回给客户机 。
在此过程中,FTP服务器与 FTP客户机之间建立两个连接:控制连接和数据连接 。
Linux系统中常用的 FTP服务器软件有 3种:
– Vsftpd
– Proftpd
– Wu-ftpd。
FTP服务器
FTP客户机
<-- FTP请求
<-- 上传 数据
FTP响应 -->
<-- 数据连接 -->
FTP客户机
<-- FTP请求
--> 下载数据
10-4-2 Vsftpd服务器配置基础
1,Vsftpd服务器的用户
– 本地用户
– 匿名用户
2,vsftpd.conf文件
– 本地用户默认进入其个人主目录,并可以切换到其他有权访问的目录,还可上传和下载文件 。
– 匿名用户只能下载 /var/ftp/目录下的文件 。
3,vsftpd.ftpusers文件
– /etc/vsftpd.ftpusers用于指定不能访问 Vsftpd服务器的用户列表,通常是 Linux系统的超级用户和系统用户 。
10-4-3 配置 Vsftpd服务器
1,设置匿名用户的权限
2,限定本地用户
( 1) 直接编辑 /etc/vsftpd.ftpusers文件,将禁止登录的用户名写入 vsftpd.ftpusers文件 。
( 2) 直接编辑 /etc/vsftpd.user_list文件,将禁止登录的用户名写入 vsftpd.user_list文件 。
( 3) 直接编辑 /etc/vsftpd.user_list文件,将允许登录的用户名写入 vsftpd.user_list文件,
3,禁止切换到其他目录
( 1) 设置所有本地用户都不可切换到主目录以外目录 。
( 2) 设置指定的用户不可切换到主目录以外的目录 。
4,设置欢迎信息
( 1) ftpd_banner参数
( 2) banner_file参数
5,限制文件传输速度
( 1) anon_max_rate参数
( 2) local_max_rate参数
10-4-4 测试 Vsftpd服务器
Windows环境和 Linux环境都可以使用 ftp命令行程序
– 格式,ftp [域名 |IP地址 ] [端口号 ]
– 功能:启动 ftp命令行工具,如果指定 FTP服务器的域名或 IP地址,则建立与 FTP服务器的连接 。 否则需要在 ftp提示符后,输入,open 域名 |IP地址,格式的命令才能建立与指定 FTP服务器的连接 。
– 与 FTP服务器建立连接后,用户需要输入用户名和口令,验证成功后用户才能对 FTP服务器进行操作。
无论验证成功与否,可将出现 ftp提示符,ftp >”,
等待用户输入相应的子命令。