Samba smb.conf 配置文件
smb.conf 文件(在 /etc/smaba 中)保存的是 Samba 守护进程的配置的。这个文件分为 2 个基本的部分:一个是全局选项的,另一个是共享服务的。共享服务就是共享,可以是文件空间服务 (filespace service) 或打印机服务 (printable services) 。文件空间服务就是让某个目录给用户使用,就好像在用他们自己的硬盘文件一样。打印服务提供客户打印机的相应功能。
/etc/samba/smb.conf 文件保存着许多共享的资源的配置情况,也有许多全局的资源配置。 /etc/samba 目录里的 smb.conf 文件包含的默认的配置,许多配置选项都被用分号“ ; 或者“”注释掉了,所以你可以直接去掉注释符号就应用相应被注释的选项了。有时你可能不太喜欢直接修改它,此时你可以用 SWAT 进行管理。 SWAT 本身也提供一大量的帮助文档。在 Man page 中的 smb.conf 可以得到十分全面的 Samba 配置参数。一个扩展的示例 smb.conf /usr/share/doc/samba* 目录的 examples 里。
smb.conf 文件里,全局选项是先设置的,紧跟的是每一个共享资源的配置。 smb.conf 文件是以“段 (section) 分的。而每个资源的配置就是被包含在它自己的 section 中了,每个 section 都有它自己的服务名称和它的属性的定义。即使是全局( global )选项也要放在 section 里(以 global 为标签)。例如:对于文件空间共享,它包含目录和相应的可访问的用户对其使用的权限。每一个 section 都以它所共享的资源名为标签名。对于特殊的标签,如 printers homes ,对用户目录和打印访问提供了默认的描述。在特别的 section 中, setction 是通过特别的服务进入的,以名称访问特别目录或打印机。
一个 Section 以段标签开始,它指定了共享资源的名称,并以括号括起来。除了特别的 section ,段标签可以是你起的任意的名字。在段标签后面,另起行,这个服务的各种参数放在这里。参数定义了对用户访问这个服务的权限。例如:对于一个目录,你可能想要让它可浏览,但是只有读的权限,而且用指定的打印机。参数的格式为 parameter name = value 。既左面是参数名,右边是其对应的值。你可以在这里加入注释,方法是在注释前加分号“ ; (按行的)。
一个简单的例子如下:
段标签以括号里,有两个参数。 path 参数指定允许谁访问。 writeable 参数指定用户是否有向此目录写的权限。
[mysection]
path = /home/chris
writeable = true
打印服务也有和上面相同的格式,但是要求一些其它的必须参数。 path 参数指定打印缓冲区的目录, read-only printable 参数如果设为 true ,则服务中只读的和可打印的。 public 意为任何人都可以访问它。
[myprinter]
path = /var/spool/samba
read only = true
printable = true
public = true
参数入口总是有很多相似的,而且不同的入口也可以有相同的意思。例如: read-only=no,writeable=yes write ok=yes 都是一个意思:提供给用户可写的权限。 public 参数和 guest ok 是一样的。 SWAT 会使用 guest ok ,而不是 public ;使用 read only 而不是 writeable
SWAT smb.conf
SWAT 是基于网络的 Samba 配置实用工具。它是用浏览器来管理 smb.conf 文件的。 SWAT 是至今为止最为方便简单的方式了。 SWAT 提供便于使用的按钮、菜单和文本框操作的界面来输入值。页面上方导航条里的一系列的简单的按钮是让你选择你想更改的 section 的。还有直接更改密码的按钮呢。要想查看 smb.conf 文件的内容,就点击“ view 。主页面( HOME )就显示 Samba 文档的列表。

激活 SWAT
SWAT 一般都和 Samba 一起安装。 SWAT 是一个 xinetd 服务。作为一个 xinetd 服务,它会被列在 /etc/services /etc/xinetd.d/swat 文件里。 SWAT 程序使用 901 端口。 /etc/services 文件里是这样写的:
swat 901/tcp # Samba Web Administration Tool
作为一个 xinetd 服务, SWAT 会有它自己的 xinetd 文件(在 /etc/xinetd.d 目录和 /etc/xinetd.d/swat )。 SWAT 是默认不启动的。它的 disable 选项也被设置为 yes 。要想使用 SWAT ,就应该将 disable 设为 no 。选项改为下面的样子:
# default: off
# description: SWAT is the Samba Web Admin Tool. Use swat \
# to configure your Samba server. To use SWAT, \
# connect to port 901 with your favorite web browser.
service swat
{
disable = no
port = 901
socket_type = stream
wait = no
only_from = 127.0.0.1
user = root
server = /usr/sbin/swat
log_on_failure += USERID
}
你可以用 chkconfig 或者服务配置工具来启动 SWAT 或者手动修改 /etc/xinetd.d/swat 文件,将 disable 改为 no chkconfig 会编辑 /etc/xinetd.d/swat 文件,做相应的改变。下面示例了 chkconfig 的用法:
chkconfig swat on
使用 chkconfig ,你就不需要手动重新启动 xinetd 服务。但是,如果你手动修改了文件,你就得重启服务来让你的改变起作用。在 Red Hat 里,你可以简单的使用下面的命令操作:
service xinetd restart
在使用 SWAT 之前,最好将你的 smb.conf 文件备份。 SWAT 会用它自己的文件覆盖原来的文件。因为原来的文件里包含了好多的可扩展选项以及相应的说明。这是一个很多的学习文档,还有非常精彩的示例。可以像下面这样备份:
cp /etc/samba/smb.conf /etc/samba/smb.bak
访问 SWAT
你可以通过 Samba 配置器启动 SWAT 。这会启动你的 Web 浏览器,并指向 localhost 地址: 127.0.0.1 901 ,当然你也可以手动打开浏览器,输入正确的内容:
[url]http://127.0.0.1:901[/url]
如果你使用 Samba 服务器的 IP 地址。也可以从远程访问 SWAT 。然而,你得先让服务器支持这样做。在 /etc/xinetd.d/swat 文件里,当前在 only_from 行是指定为 localhost 的。要想让任何远程用户都可以访问,去掉这行就行了。如果你要提供某些特定的主机,你可以在那行后面加上主机。注意修改完配置文件,还得重启 SWAT 服务才能应用。例如,
only_from 127.0.0.1 rabbit.mytrek.com
指定可以从 localhost rabbit.mytrek.com 访问。
下面的从远程的浏览器地址栏中的 URL 访问 turtle.mytrek.com SWAT 服务:
[url]http://turtle.mytrek.com:901[/url]
它会首先让你输入用户名和密码。要想配置 Samba ,你当然得用 root 和其密码登入。在远程主机里以明文方式输入密码是不安全的。
SWAT 配置页
SWAT 的主面显示出一行的按钮,按钮分别是 HOME,GLOBAL,SHARES,PRINTERS,STATUS,VIEW PASSWORD 。可以使用 STATUS 来查看活动的 SMB 网络的连接情况。

表37-2:SWAT配置页
描述
HOME SWAT主页,列出文档资源。
GLOBALS 配置全局Samba的section
SHARES 选择的配置共享的目录
PRINTERS 设置对打印机的访问
STATUS 检查Samba服务的状态,既包括smbd又包括nmbd。列出当前活动的客户端和他的的动作。在这个页面里你可以启动,停止或重启Samba服务。
VIEW 显示smb.conf配置文件
PASSWORD 设置密码文件,包含访问服务器的用户。
对于多种多样的section,SWAT能显示或者基本的或者高级的编辑界面。基本界面只显示用来配置基本功能的选项入口。高级的则显示所有可能的 section编辑入口。一个按钮——以“Advanced View”和“Basic View”来回显示——是在页面最上面section page显示的。Section Printers和Shares加了一些按钮的菜单来让你选择特定的打印机或者共享资源。当你点击SHARES按钮时,你最开始只能看到少数几个按钮显示 在页面的最上边。你使用这些按钮来新建section或者编辑section。对于新建一个section,在Create Share按钮旁边的输入框中输入它的名字,然后点击那个按钮。新的共享名字就出现在相应的下拉菜单中。开始时,这个按钮是空的。点击它来显示当前的共享 section。选择你想要的,然后点击Choose Share按钮。然后页面就显示了配置一个共享资源的入口。对于一个新的共享,它们或者是空的或者都是默认值。例如,选择Homes section,,这里配置为默认的用户主目录。点击下拉菜单,找Homes 入口,选择它,然后点击Choose Share按钮。Home section的入口就显示出来了。相似的工作也可在Printers 页面里进行,以那里你既可以选择Printer section也可以对特定的打印机新建section。
注意:Samba为已经存在的打印机自动创建入口,它是从 /etc/printcat文件里找到的。你也许要编辑打印机的入口来控制对你的打印机的访问。Samba要使用一个打印机,它首先配置为本地或者网络的。记住一个网络打印机是一个Windows系统的网络打印机。
当你完成对一个section的编辑后,点击“Commit Changes”(确认改变)。这样就产生了一个新的smb.conf文件。要想让Samba服务器应用改变,请重启Samba服务器。你可以方便地点击Status页的Resart smb按钮来实现。