Download presentation
Presentation is loading. Please wait.
1
第03章 Samba服务的配置与应用 本章导读 Samba的概述 Samba服务的配置文件 Samba服务的文件共享 Samba服务的打印共享 启动和停止Samba服务 Linux客户端的访问 Windows客户端的访问
2
3.1 Samba的概述 SMB协议 Samba服务 Samba服务工作原理
3
SMB协议 它是Microsoft和Intel在1987 年开发的,该协议可以用在 TCP/IP之上,也可以用在其他
网络协议(如IPX和NetBEUI) 之上。通过SMB协议,客户端 应用程序可以在各种网络环境下 读、写服务器上的文件,以及对 服务器程序提出服务请求。此外 通过SMB协议,应用程序还可 以访问远程服务器端的文件和打 印机等资源 。
4
Samba服务 Linux使用一个被称为 Samba的程序集来实现 SMB协议。通过Samba, 可以把Linux系统变成一台
SMB服务器,使Windows 95以上的Windows用户能 够使用Linux的共享文件和 打印机,同样的Linux用户 也可以通过SMB客户端使 用Windows上的共享文件 和打印机资源 。
5
Samba服务 目前Samba的最新版本是3.0.26,它的主要功能如下。
(1)提供Windows风格的文件和打印机共享。Windows 95、Windows 98、Windows NT、Windows 2000、Windows XP、Windows 2003等操作系统可以利用Samba共享Linux等其他操作系统上的资源,而从外表看起来和共享Windows的资源没有区别。 (2)在Windows网络中解析NetBIOS的名字。为了能够利用局域网上的资源,同时使自己的资源也能被别人所利用,各个主机都定期地向局域网广播自己的身份信息。负责收集这些信息,提供检索的服务器也被称为浏览服务器,而Samba能够实现这项功能。同时在跨越网关的时候Samba还可以作为WINS服务器使用。 (3)提供SMB客户功能。利用Samba程序集提供的smbclient程序可以在Linux中以类似于FTP的方式访问Windows共享资源。 (4)提供一个命令行工具,利用该工具可以有限制地支持Windows的某些管理功能。
6
Samba服务工作原理
7
Samba服务工作原理 Samba服务的具体工作过程如图3-4所示。
① 首先客户端发送一个SMB negprot请求数据报,并列出它所支持的所有SMB协议版本。服务器收到请求信息后响应请求,并列出希望使用的协议版本。如果没有可使用的协议版本则返回0XFFFFH,结束通信。 ② 协议确定后,客户端进程向服务器发起一个用户或共享的认证,这个过程是通过发送SesssetupX请求数据报实现的。客户端发送一对用户名和密码或一个简单密码到服务器,然后服务器通过发送一个SesssetupX应答数据报来允许或拒绝本次连接。 ③ 当客户端和服务器完成了磋商和认证之后,它会发送一个Tcon或TconX SMB数据报并列出它想访问网络资源的名称,之后服务器会发送一个TconX应答数据报以表示此次连接是否被接受或拒绝。 ④ 连接到相应资源后,SMB客户端就能够通过open SMB打开一个文件,通过read SMB读取文件,通过write SMB写入文件,通过close SMB关闭文件。
8
Samba服务工作原理
9
3.2 Samba服务的安装 默认情况下,Red Hat Enterprise Linux 5安装程序没有
rpm -q samba 如果系统还没有安装Samba服务。如果现在要安装,可 将Red Hat Enterprise Linux 5的第2张安装盘放入光驱,加 载光驱后在光盘的Server目录下找到Samba服务程序的 RPM安装包文件samba c-2.i386.rpm,然后使用下面 的命令安装Samba。 rpm -ivh /mnt/Server/samba c-2.i386.rpm
10
3.3 Samba服务的配置文件 Samba服务的主配置文件 Samba服务的密码文件 Samba服务的日志文件
11
Samba服务的主配置文件 Samba服务的主配置文件/etc/samba/smb.conf由 两部分构成。
1.Global Settings 该设置都是与Samba服务整体运行环境有关的选 项,它的设置项目是针对所有共享资源的。 2.Share Definitions 该设置针对的是共享目录个别的设置,只对当前 的共享资源起作用。
12
Samba服务的密码文件 与Samba服务相关的密码文件共有两个。 1./etc/samba/smbpasswd
2./etc/samba/smbusers
13
Samba服务的日志文件 Samba服务的日志默认存放在/var/log/samba目 录中,Samba服务为所有连接到Samba服务
器的计算机建立个别的日志文件,同时也将 NMB服务和SMB服务的运行日志分别写入 nmbd.log和smbd.log日志文件中 。
14
3.4 Samba服务的文件共享 全局参数 用户映射 使用加密口令 共享目录
15
全局参数 1.设置Samba服务器所属的群组名称或Windows的域名 workgroup = MYGROUP
server string = Samba Server 3.设置可访问Samba服务器的主机、子网或域 hosts allow = 4.设置Samba服务启动时,将自动加载的打印机配置文件 printcap name = /etc/printcap
16
全局参数 5.设置是否允许打印配置文件中的所有打印机开机时自动加载 load printers = yes 6.设置guest账号名
guest account = pcguest 7.指定Samba服务器使用的安全等级 security = user
17
全局参数 Samba服务器的安全等级共有以下5类。 (1)share安全等级 (2)user安全等级 (3)server安全等级
(4)domain安全等级 (5)ads安全等级
18
全局参数 8.有多个网卡的Samba服务器设置需要监听的网卡 interfaces = 网卡IP地址或网络接口
9.设置Samba服务器同时充当WINS服务器 wins support = yes 10.设置WINS服务器的IP地址 wins server = w.x.y.z
19
用户映射 用户映射通常是在Windows和Linux主机之间进行。两个 系统拥有不同的用户账号,用户映射的目的就是将不同的用
Samba服务器上的共享资源时,可以直接使用Windows账 号进行访问。 要使用用户映射,只需将smb.conf配置文件中username map = /etc/samba/smbusers前的注释符号“;”去除 。 然后编辑文件/etc/samba/smbusers,将需要映射的用户 添加到文件中。参数格式为: 单独的Linux账号 = 要映射的Windows账号列表
20
使用加密口令 全局参数“encrypt password”设置项可用来指定用户的密 码是否以加密的方式发送到Samba服务器,默认值是使用
此功能。参数格式如下: encrypt password = yes或no 使用“yes”表示采用加密的方式发送密码,使用“no”则相 反。Windows操作系统也是采用加密的方式发送密码。如果 此参数设置为“no”的话,就必须修改Windows系统的注册表。 为了简化用户的操作,Samba提供了多种Windows操作系 统类型的注册表文件,这些文件存放在 /usr/share/doc/samba c/registry目录中 。
21
共享目录 1.设置用户个人的主目录 它的相关设置项目如图3-17所示。
22
共享目录 2.设置一个共享目录 【例】设置共享目录share,它的本机路径为“/home/share”,只有share组的用户可以读写该目录,tom用户只能读取。具体的步骤如下。 ① 以root用户登录系统,使用命令groupadd share建立share组,并利用命令usermod -G share ygj将ygj用户添加到share组中。 ② 使用命令mkdir/home/share在/home目录下建立子目录share。 ③ 使用命令chown:share/home/share设置share目录所属的组为share组,然后使用命令chmod -c g+wxr /home/share设置share组对该目录具有读写和执行权限。 ④ 在smb.conf配置文件末尾添加如图3-18所示的配置项目。
23
3.5 Samba服务的打印共享 与共享打印有关的配置文件主要是在smb.conf中的[printers]配置项中。
配置参数与共享目录是基本相同的 。
24
3.6启动和停止Samba服务 1.启动Samba服务 /etc/rc.d/init.d/smb start 2.停止Samba服务
etc/rc.d/init.d/smb stop 3.重新启动Samba服务 /etc/rc.d/init.d/smb restart
25
3.6启动和停止Samba服务 4.自动启动Samba服务 如果需要让Samba服务随系统启动而自动加载,可以执行“ntsysv”命
令启动服务配置程序,找到“smb”服务,在其前面加上“*”星号,然后选 择“确定”即可 。
26
3.7 Linux客户端的访问 利用主机名访问共享资源 smbclient smbmount/ smbumount
27
利用主机名访问共享资源 如果用户需要利用主机名访问共享资源的 话,可以设置lmhosts文件来实现。它的功能
与WINS服务器类似,就是提供主机名与IP地 址的对应数据。 该文件的存放位置为:/etc/samba/lmhosts。 每条记录的格式为: IP地址 主机名(NetBIOS名称)
28
smbclient 默认情况下,Red Hat Enterprise Linux安装程序会将
rpm -q samba-client 如果系统还未安装smbclient,应将Red Hat Enterprise Linux 5的第1张安装盘放入光驱,加载光驱后在光盘的 Server目录下找到smbclient的RPM安装包文件samba- client c-2.i386.rpm,使用下面命令安装smbclient。 rpm -ivh /mnt/Server/ samba-client c-2.i386.rpm
29
smbclient smbclient的访问命令格式如下。 列出目标主机共享资源列表
smbclient -L //主机名或IP地址 -U 登录用户名 使用共享资源 smbclient //主机名或IP地址/共享目录名 -U 登录用户名
30
smbmount/ smbumount 在Linux服务器或客户端上,可以利用smbmount命令
载的共享资源卸载。 命令格式为: smbmount 共享资源地址 加载点 –o 参数 smbumount 加载点
31
3.8 Windows客户端的访问 Windows的客户端不需要 更改任何设置, 就可以在“网 上邻居”中打开在3.4.1节定义
的工作组查看到安装了 Samba的Linux服务器,或选 择菜单“开始→运行”,在打开 的“运行”窗口中输入“\\服务器 名”或“\\服务器IP地址”,然后 单击“确定”按钮即可。图3-29 所示的是利用主机名访问 Samba服务器。
32
3.9 练习题 【练习1】建立Samba服务器,并根据以下要求配置Samba服务器。 (1)Samba服务器所属的群组名称为student。
(3)设置Samba服务器监听的网卡为eth0。 【练习2】在Linux中的用户“root”与Windows中的用户“teacher”和“monitor”之间建立映射。 【练习3】建立共享目录student,它的本机路径为“/home/student”,只有teacher组的用户可以读写该目录,student用户只能读取。 【练习4】使用smbclient客户端程序登录Samba服务器,并尝试下载服务器中的某个共享资源文件。
Similar presentations