在本文中,学习以下概念:
浏览 Samba 服务器配置文件结构
使用 Samba 变量和配置参数
识别对 Server Message Block (SMB)/Common Internet File System (CIFS) 使用的关键 TCP/User Datagram Protocol (UDP) 端口配置 Samba 日志使用 Samba 诊断和调试问题
Samba 配置文件
与大部分 UNIX 守护进程一样,Samba 是通过人类可读的文本文件配置的,而非通过一个用于编辑二进制文件的图形工具。最重要的配置文件称为 smb.conf,它包含 Samba 在您的环境中运行所需的所有参数。
注意:尽管 smb.conf 是设计为通过文本编辑器编辑的,Samba 团队开发出了一个基于 web 的工具,名为 Samba Web Administration Tool。另外也有 webmin 等其他工具。重要的是要记住,在运行这些工具之前或之后,您仍然可以编辑 smb.conf,因为您在操作一个文本文件。
Samba 的配置文件有一个相对简单的格式,使用三个不同的结构:
Sections。Sections 将配置文件分成独立的部分。例如,一个文件共享有其自己的区域。
Parameters。 Parameters 是键值对。键是众所周知的属性,比如 “read only”。
Comments。Comments 允许您对配置文件做注解,而不影响不配置,比如指示记载共享信息的服务台票证。
Sections
构建您自己的提要您可以构建一个 RSS、Atom 或 HTML 提要,以便在我们添加新文章或更新内容时收到通知。访问developerWorks RSS 提要。选择 Linux 作为专区,Articles 作为类型,输入 Linux Professional Institute 作为关键字。然后选择您想要的提要类型。Sections 将配置文件分成不同的部分。您可以将 section 名包含在方括号([])中来开始一个 section。本 section 将持续到下一 section 被定义或达到文件的结尾。
有三个 section 名具有特殊的含义:
global。该 section 中的所有内容都适用于整个服务器。如有需要,可在共享级别覆盖 global 部分中的配置项。
homes。homes 部分充当所有用户共享的模板,且 Samba 负责将用户名映射到该部分中的配置,每次您想让用户进入其主目录时都几乎无需配置独立的共享。
printers。该部分类似于 homes,区别在于它用于打印机。
如果使用的 section 名不是上述之一,那么会被看作是文件或打印机共享。
当针对特定共享名的一个连接请求进入 Samba 时,守护进程寻找具有该名称的、会定义该共享的属性的 section。如果未找到这个 section,Samba 浏览系统上的用户列表,看看连接是否是指一个用户。如果不是,Samba 查询系统打印机列表,看具有该名称的打印机是否存在。如果连接匹配用户,则使用 homes 部分的配置。如果打印机匹配,则使用 printers 部分。在所有情况下,区域级配置覆盖 global 配置部分。
如果上述情况都不匹配,还有最后一项检查。如果配置了默认服务,则使用该服务。如果没有,一个错误会传回客户端。默认情况下,不配置默认服务,因此不正确的共享名会导致错误。
Parameters
Parameters 采用的形式是 key = value,即将 value 赋给 key。键都记录在 smb.conf 手册页中。Samba 配置很大程度上就是了解实现想要的行为所需的键并确定要使用的适当的键。
Parameters 一般将字符串作为值。Samba 支持宏,允许您根据共享名或用户输入等项目改变参数的值。例如,homes 部分默认设置为用户的 UNIX 主目录,但是您可以使用宏将该参数用于任何位置,并在连接时替换文件路径中的用户名。宏以 % 字符开头,会在需要时加以讨论。
如果一个参数的值必须扩展到两行或更多行,除最后一行的所有行必须以反斜杠(\)结束,就像一个 UNIX shell。
Comments
Comments 以分号(;)或散列字符(哈希符号或 #)开头。Comments 可用于解释项目原由、跟踪变更或显示 section 边界。
配置示例
清单 1 显示 smb.conf 文件示例,说明文件的不同组成部分。
清单 1. 配置文件示例
# This is a comment
; So is this
# Remember that all shares need to be entered in the Wiki! -Opsteam
[global]
workgroup = BIGCO
# %v gets expanded to the version of Samba
server string = Samba Server Version %v
# By default any file starting with . will have the hidden attribute set
hide dot files = yes
# Home directories come from the UNIX password file
# anyone matching a user will use this section
[homes]
comment = Home directories
# dot files will be hidden because it's a global
[printers]
comment = System printers
printable = yes
# A share that everyone can see
[projecta]
path = /var/spool/projects/projecta
# Override the global version of hiding dot files
hide dot files = no对于该配置示例特别需要注意的是:
使用了两种不同类型的注释。一个以哈希符号开头,另一个以分号开头。
[1] [2] [3] [4] [5] [6] 下一页