第10章 Samba
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第10章 Samba 10章
第10章 Samba 章
10.1 Samba简介 简介 10.2 Samba配置 配置 10.3 使用加密口令 10.4 Samba和Windows互相通信 和 互相通信 10.5 Samba组件中的应用程序 组件中的应用程序 10.6 Samba常见故障排除 常见故障排除 习题
nmbd
smbclient
testprns
testparm
第10章 Samba 10章
smb.conf smbstatus smbpasswd Swat mksmbpasswd.sh Smb smbadduser
Samba的配置文件 列出当前smbd服务器上的连接 用来设定Samba用户密码 Samba的Web管理工具 从/etc/passwd文件形成smbpasswd文件的程序 启动或停止Samba服务的脚本程序 更新/etc/samba/smbusers文件和/etc/samba/smbpasswd文件
第10章 Samba 10章
10.1.3 Samba的功能 的功能 通过使用Samba,Linux可以实现如下功能: (1) 提供Windows NT风格的文件和打印机共享。当 Windows 95、Windows 98、Windows 2000等共享Linux 操作系统的资源时,外表看起来和Windows的资源没 有区别。
第10章 Samba 10章
2. smb.conf文件结构 smb.conf文件最基本的三个特殊段分别是: (1) global(全局参数)。 (2) directory shares(目录共享)——包括标准的[home] 部分。 (3) printer shares(打印共享)部分。 除了[global]段外,所有的段都可以看作是一个共享 资源,段名是该共享资源的名字,而段里的参数就是 共享资源的属性。[global], [homes]和[printers]这三个段 是比较特殊的。
第10章 Samba 10章
① [homes]段的内容如下: [homes] comment = Home Directories #就是对共享的描述,可以是任意的字符串。 browseable = yes #指定共享是否可以浏览,默认是“yes”。 writable = yes #指定共享路径是否可以写,值是“yes”或“no”。
第10章 Samba 10章
(2) 解析NetBIOS名字。在Windows网络中,为了能 够利用网上资源,同时自己的资源也能被别人所利用; 各个主机都定期向网上广播自己的身份信息。而负责 收集这些信息并为别的主机提供检索情报的服务器就 被称为浏览服务器,Samba可以有效地完成这项功能。 在跨越网关的时候Samba还可以作WINS服务器使用。 (3) 提供SMB客户功能。利用Samba提供的smbclient 程序可以从Linux下像使用FTP一样访问Windows的资 源。
第10章 Samba 10章
Samba的运行包含两个后台守护进程:nmbd和smbd, 它们是Samba的核心。nmbd程序使其他计算机可以浏 览Linux服务器;smbd守护进程在SMB服务请求到达时 对它们进行处理,并且为被使用或共享的资源进行协 调。如果指定的是一个文件,该资源就是一个文件; 而一个打印机请求就要求访问一台打印机。实际上, 在请求访问打印机时,smbd把要打印的信息存储到打 印队列中;在请求访问一个文件时,smbd把数据发到 内核,最后将它存到磁盘上。
第10章 Samba 10章
10.1 Samba 简 介
10.1.1 SMB协议 协议 SMB(Server Message Block)通信协议可以看作是局 域网上共享文件和打印机的一种协议。它是微软 (Microsoft)和英特尔(Intel)在1987年制定的协议,主要 是作为Microsoft网络的通讯协议,而Samba则是将 SMB协议搬到Unix上来应用。
第10章 Samba 10章
(2) 重启动。 [root@redflag /root]# /etc/rc.d/init.d/smb restart或 [root@redflag /root]#service smb restart (3) 停止。 [root@redflag /root]# /etc/rc.d/init.d/smb stop或 [root@redflag /root]#service smb stop 在启动Samba服务之前首先要完成其配置文件,接 下来我们将详细的介绍。
第10章 Samba 10章
10.1.2 什么是 什么是Samba Samba是用来实现SMB协议的一种软件,由澳大利 亚的Andew Tridgell开发,是一套让Unix系统能够应用 Microsoft网络通讯协议的软件。它使执行Unix系统的 机器能与执行Windows系统的共享资源。Samba属于 GNU Public License (简称GPL)的软件;因此,可以合 法且免费地使用它。作为Unix的克隆,Linux也可以运 行这套软件。这套软件由一系列的组件构成,主要的 组件如表10-1所示。
第10章 Samba 10章
表10-1 Samba软件包的组件
smbd
SMB服务器,给SMB客户提供文件和打印服务 NetBIOS 名称服务器,提供NetBIOS名称服务和浏览支持, 帮助SMB客户定位服务器 SMB客户程序,用来存取SMB服务器上的共享资源 测试服务器上打印机访问的程序 测试Samba配置文件smb.conf正确性的工具
第10章 Samba 10章
(4) 备份PC上的资源。利用一个叫smbtar的Shell脚本, 可以使用tar格式备份和恢复一台远程 Windows上的共 享文件。 (5) 提供一个命令行工具,在其上可以有限制地支持 NT的某些管理功能。 (6) 支持SWAT(Samba Web Administration Tool)。 (7) 支持SSL(Secure Socket Layer)。
第10章 Samba 10章
(2) 文件被分成段,每一段的名字用一个方括号括起 来,例如[global]、 [home]、[printers]等。 (3) [global]部分定义的参数用来控制Samba的总体 特性,而其他每一部分都定义了一个专门的服务。 (4) 在每一段内用“名称=值”的格式来设置参数, 例如,read only = yes。 (5) 行首前面加“;”或“#”表示该行为注释。
第10章 Samba 10章
通过“NetBIOS over TCP/IP”使得Samba不但能与局域网 络主机分享资源,更能与全世界的电脑分享资源。因 为互联网上千千万万的主机所使用的通讯协议就是 TCP/IP 。 SMB 是 在 会 话 层 (session layer) 和 表 示 层 (presentation layer)以及小部分应用层(application layer) 的 协 议 。 SMB 使 用 了 NetBIOS 的 应 用 程 序 接 口 (Application Program Interface,简称API)。另外,它是 一个开放性的协议,允许协议扩展,这使得它变得更 大而且复杂,大约有65个最上层的作业,而每个作业 都超过120个函数。
第10章 Samba 10章
10.2 Samba 配 置
10.2.1 设置 设置smb.conf文件 文件 1. smb.conf的语法 文件smb.conf位于/etc/samba/目录下,它的语法非常 明确。与Windows的“*.ini”文件十分相似。如下所示: (1) 文件被分成几部分,每一部分都包含几个参数, 用来定义Samba输出的共享及其详细操作。
第10章 Samba 10章
表10-2 smb.conf文件中常用的宏
宏 %S %P %u %g %H %v %h %m %L %T %I %d 当前共享的名称 当前服务的根路径 当前服务的用户名 给定%u的所在工作组名 给定的%u的私人目录 Samba 版本号 运行Samba的机器的主机名 客户机的NetBIOS名 服务器的 NetBIOS名 当前的日期和时间 客户机的IP地址 当前服务器进程ID 描 述
第10章 Samba 10章
10.1.4 Samba的启动和退出 的启动和退出 我们可以通过命令ntsysv来设定在系统启动时自动启 动Samba,也可以通过手工启动Samba,具体的命令如 下。 (1) 启动。 [root@redflag /root]# /etc/rc.d/init.d/smb start或 [root@redflag /root]#service smb start
第10章 Samba 10章
(2) 共享服务节的内容如下: 一个共享资源段由要提供访问的路径和附加的访问 权限组成,可以是文件资源或打印资源。共享资源段 可以给guest级的用户服务,一般来说guest用户是不需 要密码的,如果给guest提供服务,guest的权限是根据 Linux里的guest账户来赋予的。如果共享资源段不是给 guest提供服务的,则访问这样的段需要用户的密码。 由于赋予用户对共享资源段的访问权限是基于该用户 在Linux系统里对该资源的访问权限,所以服务器是不 能赋予超过Linux系统赋予该用户的权限的。
第10章 Samba 10章
在[homes] 段中,当用户请求一个共享时,服务器 将在存在的共享资源段中去寻找,如果找到匹配的共 享资源段,就使用这个共享资源段。如果找不到,就 将请求的共享名看成是用户的用户名,并在本地的 password文件里找这个用户,如果用户名存在且用户 提供的密码是正确的,则以这个home段克隆出一个共 享提供给用户。这个新的共享的名称是用户的用户名, 而不是home,如果[home]段里没有指定共享路径,就 把该用户的主目录(home directory)作为共享路径。
第10章 Samba 10章
(1) [global]节的内容如下: [global] netbios name = Redflag #指定本机在网上邻居中的显示名,如图10-1所示。
第10章 Samba 10章
服务器在Windows网上邻居 图10-1 Samba服务器在 服务器在 网上邻居 中的显示名
第10章 Samba 10章
在 Linux 操 作 系 统 中 , 只 要 在 安 装 的 时 候 选 择 了 Samba,那么它就会在安装Linux的同时安装Samba。 如 果 没 有 选 择 的 话 , 也 可 以 在 光 盘 上 找 到 Samba 的 RPM安装包,使用RPM安装它就可以了。如果你的 Linux 发 布 没 有 包 含 这 个 软 件 , 可 以 到 ftp:///pub/samba去下载。
第10章 Samba 10章
3. smb.conf配置实例 下面我们将用实际应用中一个具体的例子来讲述 smb.conf的配置。 【实例10.1】 以下是作者配置好的smb.conf配置文件,本实例分 [global]和共享服务两节来介绍。 为了学习方便,本部分采用逐行注释,其中“#”和 “;”开始的行在执行时都被忽略。
第10章 Samba 10章
通常的共享资源段能指定的参数基本上都可以指定 给[home]段。但一般情况下[home]段有如下配置就可以 满足普通的应用。 [homes] writable = yes
பைடு நூலகம்
第10章 Samba 10章
② [printers]段的内容如下: [printers] #该段用于提供打印服务。 comment = All Printers path = /usr/spool/samba # path是提供共享服务的路径,可以用%u、%m这 样的宏来代替路径里的Linux用户和客户机的NetBIOS 名。用户在连接到这个共享时具体的路径会被他的用 户名代替,要注意这个用户名路径一定要存在,否则, 客户机在访问时会找不到网络路径。
第10章 Samba 章
10.1 Samba简介 简介 10.2 Samba配置 配置 10.3 使用加密口令 10.4 Samba和Windows互相通信 和 互相通信 10.5 Samba组件中的应用程序 组件中的应用程序 10.6 Samba常见故障排除 常见故障排除 习题
nmbd
smbclient
testprns
testparm
第10章 Samba 10章
smb.conf smbstatus smbpasswd Swat mksmbpasswd.sh Smb smbadduser
Samba的配置文件 列出当前smbd服务器上的连接 用来设定Samba用户密码 Samba的Web管理工具 从/etc/passwd文件形成smbpasswd文件的程序 启动或停止Samba服务的脚本程序 更新/etc/samba/smbusers文件和/etc/samba/smbpasswd文件
第10章 Samba 10章
10.1.3 Samba的功能 的功能 通过使用Samba,Linux可以实现如下功能: (1) 提供Windows NT风格的文件和打印机共享。当 Windows 95、Windows 98、Windows 2000等共享Linux 操作系统的资源时,外表看起来和Windows的资源没 有区别。
第10章 Samba 10章
2. smb.conf文件结构 smb.conf文件最基本的三个特殊段分别是: (1) global(全局参数)。 (2) directory shares(目录共享)——包括标准的[home] 部分。 (3) printer shares(打印共享)部分。 除了[global]段外,所有的段都可以看作是一个共享 资源,段名是该共享资源的名字,而段里的参数就是 共享资源的属性。[global], [homes]和[printers]这三个段 是比较特殊的。
第10章 Samba 10章
① [homes]段的内容如下: [homes] comment = Home Directories #就是对共享的描述,可以是任意的字符串。 browseable = yes #指定共享是否可以浏览,默认是“yes”。 writable = yes #指定共享路径是否可以写,值是“yes”或“no”。
第10章 Samba 10章
(2) 解析NetBIOS名字。在Windows网络中,为了能 够利用网上资源,同时自己的资源也能被别人所利用; 各个主机都定期向网上广播自己的身份信息。而负责 收集这些信息并为别的主机提供检索情报的服务器就 被称为浏览服务器,Samba可以有效地完成这项功能。 在跨越网关的时候Samba还可以作WINS服务器使用。 (3) 提供SMB客户功能。利用Samba提供的smbclient 程序可以从Linux下像使用FTP一样访问Windows的资 源。
第10章 Samba 10章
Samba的运行包含两个后台守护进程:nmbd和smbd, 它们是Samba的核心。nmbd程序使其他计算机可以浏 览Linux服务器;smbd守护进程在SMB服务请求到达时 对它们进行处理,并且为被使用或共享的资源进行协 调。如果指定的是一个文件,该资源就是一个文件; 而一个打印机请求就要求访问一台打印机。实际上, 在请求访问打印机时,smbd把要打印的信息存储到打 印队列中;在请求访问一个文件时,smbd把数据发到 内核,最后将它存到磁盘上。
第10章 Samba 10章
10.1 Samba 简 介
10.1.1 SMB协议 协议 SMB(Server Message Block)通信协议可以看作是局 域网上共享文件和打印机的一种协议。它是微软 (Microsoft)和英特尔(Intel)在1987年制定的协议,主要 是作为Microsoft网络的通讯协议,而Samba则是将 SMB协议搬到Unix上来应用。
第10章 Samba 10章
(2) 重启动。 [root@redflag /root]# /etc/rc.d/init.d/smb restart或 [root@redflag /root]#service smb restart (3) 停止。 [root@redflag /root]# /etc/rc.d/init.d/smb stop或 [root@redflag /root]#service smb stop 在启动Samba服务之前首先要完成其配置文件,接 下来我们将详细的介绍。
第10章 Samba 10章
10.1.2 什么是 什么是Samba Samba是用来实现SMB协议的一种软件,由澳大利 亚的Andew Tridgell开发,是一套让Unix系统能够应用 Microsoft网络通讯协议的软件。它使执行Unix系统的 机器能与执行Windows系统的共享资源。Samba属于 GNU Public License (简称GPL)的软件;因此,可以合 法且免费地使用它。作为Unix的克隆,Linux也可以运 行这套软件。这套软件由一系列的组件构成,主要的 组件如表10-1所示。
第10章 Samba 10章
表10-1 Samba软件包的组件
smbd
SMB服务器,给SMB客户提供文件和打印服务 NetBIOS 名称服务器,提供NetBIOS名称服务和浏览支持, 帮助SMB客户定位服务器 SMB客户程序,用来存取SMB服务器上的共享资源 测试服务器上打印机访问的程序 测试Samba配置文件smb.conf正确性的工具
第10章 Samba 10章
(4) 备份PC上的资源。利用一个叫smbtar的Shell脚本, 可以使用tar格式备份和恢复一台远程 Windows上的共 享文件。 (5) 提供一个命令行工具,在其上可以有限制地支持 NT的某些管理功能。 (6) 支持SWAT(Samba Web Administration Tool)。 (7) 支持SSL(Secure Socket Layer)。
第10章 Samba 10章
(2) 文件被分成段,每一段的名字用一个方括号括起 来,例如[global]、 [home]、[printers]等。 (3) [global]部分定义的参数用来控制Samba的总体 特性,而其他每一部分都定义了一个专门的服务。 (4) 在每一段内用“名称=值”的格式来设置参数, 例如,read only = yes。 (5) 行首前面加“;”或“#”表示该行为注释。
第10章 Samba 10章
通过“NetBIOS over TCP/IP”使得Samba不但能与局域网 络主机分享资源,更能与全世界的电脑分享资源。因 为互联网上千千万万的主机所使用的通讯协议就是 TCP/IP 。 SMB 是 在 会 话 层 (session layer) 和 表 示 层 (presentation layer)以及小部分应用层(application layer) 的 协 议 。 SMB 使 用 了 NetBIOS 的 应 用 程 序 接 口 (Application Program Interface,简称API)。另外,它是 一个开放性的协议,允许协议扩展,这使得它变得更 大而且复杂,大约有65个最上层的作业,而每个作业 都超过120个函数。
第10章 Samba 10章
10.2 Samba 配 置
10.2.1 设置 设置smb.conf文件 文件 1. smb.conf的语法 文件smb.conf位于/etc/samba/目录下,它的语法非常 明确。与Windows的“*.ini”文件十分相似。如下所示: (1) 文件被分成几部分,每一部分都包含几个参数, 用来定义Samba输出的共享及其详细操作。
第10章 Samba 10章
表10-2 smb.conf文件中常用的宏
宏 %S %P %u %g %H %v %h %m %L %T %I %d 当前共享的名称 当前服务的根路径 当前服务的用户名 给定%u的所在工作组名 给定的%u的私人目录 Samba 版本号 运行Samba的机器的主机名 客户机的NetBIOS名 服务器的 NetBIOS名 当前的日期和时间 客户机的IP地址 当前服务器进程ID 描 述
第10章 Samba 10章
10.1.4 Samba的启动和退出 的启动和退出 我们可以通过命令ntsysv来设定在系统启动时自动启 动Samba,也可以通过手工启动Samba,具体的命令如 下。 (1) 启动。 [root@redflag /root]# /etc/rc.d/init.d/smb start或 [root@redflag /root]#service smb start
第10章 Samba 10章
(2) 共享服务节的内容如下: 一个共享资源段由要提供访问的路径和附加的访问 权限组成,可以是文件资源或打印资源。共享资源段 可以给guest级的用户服务,一般来说guest用户是不需 要密码的,如果给guest提供服务,guest的权限是根据 Linux里的guest账户来赋予的。如果共享资源段不是给 guest提供服务的,则访问这样的段需要用户的密码。 由于赋予用户对共享资源段的访问权限是基于该用户 在Linux系统里对该资源的访问权限,所以服务器是不 能赋予超过Linux系统赋予该用户的权限的。
第10章 Samba 10章
在[homes] 段中,当用户请求一个共享时,服务器 将在存在的共享资源段中去寻找,如果找到匹配的共 享资源段,就使用这个共享资源段。如果找不到,就 将请求的共享名看成是用户的用户名,并在本地的 password文件里找这个用户,如果用户名存在且用户 提供的密码是正确的,则以这个home段克隆出一个共 享提供给用户。这个新的共享的名称是用户的用户名, 而不是home,如果[home]段里没有指定共享路径,就 把该用户的主目录(home directory)作为共享路径。
第10章 Samba 10章
(1) [global]节的内容如下: [global] netbios name = Redflag #指定本机在网上邻居中的显示名,如图10-1所示。
第10章 Samba 10章
服务器在Windows网上邻居 图10-1 Samba服务器在 服务器在 网上邻居 中的显示名
第10章 Samba 10章
在 Linux 操 作 系 统 中 , 只 要 在 安 装 的 时 候 选 择 了 Samba,那么它就会在安装Linux的同时安装Samba。 如 果 没 有 选 择 的 话 , 也 可 以 在 光 盘 上 找 到 Samba 的 RPM安装包,使用RPM安装它就可以了。如果你的 Linux 发 布 没 有 包 含 这 个 软 件 , 可 以 到 ftp:///pub/samba去下载。
第10章 Samba 10章
3. smb.conf配置实例 下面我们将用实际应用中一个具体的例子来讲述 smb.conf的配置。 【实例10.1】 以下是作者配置好的smb.conf配置文件,本实例分 [global]和共享服务两节来介绍。 为了学习方便,本部分采用逐行注释,其中“#”和 “;”开始的行在执行时都被忽略。
第10章 Samba 10章
通常的共享资源段能指定的参数基本上都可以指定 给[home]段。但一般情况下[home]段有如下配置就可以 满足普通的应用。 [homes] writable = yes
பைடு நூலகம்
第10章 Samba 10章
② [printers]段的内容如下: [printers] #该段用于提供打印服务。 comment = All Printers path = /usr/spool/samba # path是提供共享服务的路径,可以用%u、%m这 样的宏来代替路径里的Linux用户和客户机的NetBIOS 名。用户在连接到这个共享时具体的路径会被他的用 户名代替,要注意这个用户名路径一定要存在,否则, 客户机在访问时会找不到网络路径。