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按钮来实现。