linux操作系统实用教程 梁广民 第10章 Samba

上传人:E**** 文档编号:89346094 上传时间:2019-05-23 格式:PPT 页数:111 大小:805KB
返回 下载 相关 举报
linux操作系统实用教程   梁广民 第10章  Samba_第1页
第1页 / 共111页
linux操作系统实用教程   梁广民 第10章  Samba_第2页
第2页 / 共111页
linux操作系统实用教程   梁广民 第10章  Samba_第3页
第3页 / 共111页
linux操作系统实用教程   梁广民 第10章  Samba_第4页
第4页 / 共111页
linux操作系统实用教程   梁广民 第10章  Samba_第5页
第5页 / 共111页
点击查看更多>>
资源描述

《linux操作系统实用教程 梁广民 第10章 Samba》由会员分享,可在线阅读,更多相关《linux操作系统实用教程 梁广民 第10章 Samba(111页珍藏版)》请在金锄头文库上搜索。

1、第10章 Samba,10.1 Samba简介 10.2 Samba配置 10.3 使用加密口令 10.4 Samba和Windows互相通信 10.5 Samba组件中的应用程序 10.6 Samba常见故障排除 习题,10.1 Samba 简 介,10.1.1 SMB协议 SMB(Server Message Block)通信协议可以看作是局域网上共享文件和打印机的一种协议。它是微软(Microsoft)和英特尔(Intel)在1987年制定的协议,主要是作为Microsoft网络的通讯协议,而Samba则是将SMB协议搬到Unix上来应用。,通过“NetBIOS over TCP/IP”

2、使得Samba不但能与局域网络主机分享资源,更能与全世界的电脑分享资源。因为互联网上千千万万的主机所使用的通讯协议就是TCP/IP。SMB是在会话层(session layer)和表示层(presentation layer)以及小部分应用层(application layer)的协议。SMB使用了NetBIOS的应用程序接口(Application Program Interface,简称API)。另外,它是一个开放性的协议,允许协议扩展,这使得它变得更大而且复杂,大约有65个最上层的作业,而每个作业都超过120个函数。,10.1.2 什么是Samba Samba是用来实现SMB协议的一种软

3、件,由澳大利亚的Andew Tridgell开发,是一套让Unix系统能够应用Microsoft网络通讯协议的软件。它使执行Unix系统的机器能与执行Windows系统的共享资源。Samba属于GNU Public License (简称GPL)的软件;因此,可以合法且免费地使用它。作为Unix的克隆,Linux也可以运行这套软件。这套软件由一系列的组件构成,主要的组件如表10-1所示。,Samba的运行包含两个后台守护进程:nmbd和smbd,它们是Samba的核心。nmbd程序使其他计算机可以浏览Linux服务器;smbd守护进程在SMB服务请求到达时对它们进行处理,并且为被使用或共享的资

4、源进行协调。如果指定的是一个文件,该资源就是一个文件;而一个打印机请求就要求访问一台打印机。实际上,在请求访问打印机时,smbd把要打印的信息存储到打印队列中;在请求访问一个文件时,smbd把数据发到内核,最后将它存到磁盘上。,表10-1 Samba软件包的组件,在Linux操作系统中,只要在安装的时候选择了Samba,那么它就会在安装Linux的同时安装Samba。如果没有选择的话,也可以在光盘上找到Samba的RPM安装包,使用RPM安装它就可以了。如果你的Linux发布没有包含这个软件,可以到ftp:/samba.org/pub/samba去下载。,10.1.3 Samba的功能 通过使

5、用Samba,Linux可以实现如下功能: (1) 提供Windows NT风格的文件和打印机共享。当Windows 95、Windows 98、Windows 2000等共享Linux操作系统的资源时,外表看起来和Windows的资源没有区别。,(2) 解析NetBIOS名字。在Windows网络中,为了能够利用网上资源,同时自己的资源也能被别人所利用;各个主机都定期向网上广播自己的身份信息。而负责收集这些信息并为别的主机提供检索情报的服务器就被称为浏览服务器,Samba可以有效地完成这项功能。在跨越网关的时候Samba还可以作WINS服务器使用。 (3) 提供SMB客户功能。利用Samba

6、提供的smbclient程序可以从Linux下像使用FTP一样访问Windows的资源。,(4) 备份PC上的资源。利用一个叫smbtar的Shell脚本,可以使用tar格式备份和恢复一台远程 Windows上的共享文件。 (5) 提供一个命令行工具,在其上可以有限制地支持NT的某些管理功能。 (6) 支持SWAT(Samba Web Administration Tool)。 (7) 支持SSL(Secure Socket Layer)。,10.1.4 Samba的启动和退出 我们可以通过命令ntsysv来设定在系统启动时自动启动Samba,也可以通过手工启动Samba,具体的命令如下。 (

7、1) 启动。 rootredflag /root# /etc/rc.d/init.d/smb start或 rootredflag /root#service smb start,(2) 重启动。 rootredflag /root# /etc/rc.d/init.d/smb restart或 rootredflag /root#service smb restart (3) 停止。 rootredflag /root# /etc/rc.d/init.d/smb stop或 rootredflag /root#service smb stop 在启动Samba服务之前首先要完成其配置文件,接下

8、来我们将详细的介绍。,10.2 Samba 配 置,10.2.1 设置smb.conf文件 1. smb.conf的语法 文件smb.conf位于/etc/samba/目录下,它的语法非常明确。与Windows的“*.ini”文件十分相似。如下所示: (1) 文件被分成几部分,每一部分都包含几个参数,用来定义Samba输出的共享及其详细操作。,(2) 文件被分成段,每一段的名字用一个方括号括起来,例如global、 home、printers等。 (3) global部分定义的参数用来控制Samba的总体特性,而其他每一部分都定义了一个专门的服务。 (4) 在每一段内用“名称=值”的格式来设置

9、参数,例如,read only = yes。 (5) 行首前面加“;”或“#”表示该行为注释。,2. smb.conf文件结构 smb.conf文件最基本的三个特殊段分别是: (1) global(全局参数)。 (2) directory shares(目录共享)包括标准的home部分。 (3) printer shares(打印共享)部分。 除了global段外,所有的段都可以看作是一个共享资源,段名是该共享资源的名字,而段里的参数就是共享资源的属性。global, homes和printers这三个段是比较特殊的。,3. smb.conf配置实例 下面我们将用实际应用中一个具体的例子来讲述

10、smb.conf的配置。 【实例10.1】 以下是作者配置好的smb.conf配置文件,本实例分global和共享服务两节来介绍。 为了学习方便,本部分采用逐行注释,其中“#”和“;”开始的行在执行时都被忽略。,(1) global节的内容如下: global netbios name = Redflag 指定本机在网上邻居中的显示名,如图10-1所示。,图10-1 Samba服务器在Windows网上邻居中的显示名,表10-2 smb.conf文件中常用的宏,(2) 共享服务节的内容如下: 一个共享资源段由要提供访问的路径和附加的访问权限组成,可以是文件资源或打印资源。共享资源段可以给gue

11、st级的用户服务,一般来说guest用户是不需要密码的,如果给guest提供服务,guest的权限是根据Linux里的guest账户来赋予的。如果共享资源段不是给guest提供服务的,则访问这样的段需要用户的密码。由于赋予用户对共享资源段的访问权限是基于该用户在Linux系统里对该资源的访问权限,所以服务器是不能赋予超过Linux系统赋予该用户的权限的。, homes段的内容如下: homes comment = Home Directories #就是对共享的描述,可以是任意的字符串。 browseable = yes #指定共享是否可以浏览,默认是“yes”。 writable = yes

12、 #指定共享路径是否可以写,值是“yes”或“no”。,在homes 段中,当用户请求一个共享时,服务器将在存在的共享资源段中去寻找,如果找到匹配的共享资源段,就使用这个共享资源段。如果找不到,就将请求的共享名看成是用户的用户名,并在本地的password文件里找这个用户,如果用户名存在且用户提供的密码是正确的,则以这个home段克隆出一个共享提供给用户。这个新的共享的名称是用户的用户名,而不是home,如果home段里没有指定共享路径,就把该用户的主目录(home directory)作为共享路径。,通常的共享资源段能指定的参数基本上都可以指定给home段。但一般情况下home段有如下配置就

13、可以满足普通的应用。 homes writable = yes, printers段的内容如下: printers #该段用于提供打印服务。 comment = All Printers path = /usr/spool/samba # path是提供共享服务的路径,可以用%u、%m这样的宏来代替路径里的Linux用户和客户机的NetBIOS名。用户在连接到这个共享时具体的路径会被他的用户名代替,要注意这个用户名路径一定要存在,否则,客户机在访问时会找不到网络路径。,browseable = yes guest ok = no browseable = no writable = no pr

14、intable = yes #指定用户能不能打印,默认是“no”,要让一个打印共享可以让用户使用,必须设为“yes”。,printer driver = HP LaserJet 4 #打印机的驱动类型,这个参数可以让Windows知道远程打印机上的类型,具体的值可以参考在 Windows里安装打印机出现选择打印机类型时的打印机类型。, public段的内容如下: public #所有用户都可以读写的目录,方括号内的内容是在Windows下看到的该共享目录的名称。 comment = Public Zone path = /home/public public = yes #这个参数指明是否允许

15、guest账户访问,值为“yes”或“no”。 writable = yes,10.2.2 共享访问控制 在设置共享时我们必须要考虑到网络安全,因此有必要对共享的目录进行访问控制。下面介绍几种常见的访问控制方法。,1. 通过读写方式来进行访问控制 通过设置对某个目录的读写来进行访问控制是较为常见的方法。这种访问控制通过以下参数实现: read only 若该项设置成“yes”,则用户只能读而不能进行创建、修改和删除等操作。 writable 若该项设置成“yes”,则用户可以具有写操作的权限,开放该权限时一定要慎重考虑。,【实例10.2】 下面是对/home/share目录进行的共享设定: m

16、yshare comment = share file path = /home/share browseable = yes read only = yes writable = no ,2. 通过控制主机地址来进行访问控制 主机地址访问控制通过以下参数实现: hosts allow hosts deny “hosts allow”指定允许访问的主机列表,而“hosts deny”指定拒绝访问的主机列表,主机列表用空格或逗号等隔开。主机列表可以是主机名、IP地址、子网地址,也可以用“EXPECT”关键字来限制子网中的个别主机。,【实例10.3】 在smb.conf的global段中加入下面的行: global netbios name = redflag workgroup = workgroup hosts allow = 192.168.100. 19

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号