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 | 设置密码文件,包含访问服务器的用户。 |
注意:Samba为已经存在的打印机自动创建入口,它是从 /etc/printcat文件里找到的。你也许要编辑打印机的入口来控制对你的打印机的访问。Samba要使用一个打印机,它首先配置为本地或者网络的。记住一个网络打印机是一个Windows系统的网络打印机。
当你完成对一个section的编辑后,点击“Commit Changes”(确认改变)。这样就产生了一个新的smb.conf文件。要想让Samba服务器应用改变,请重启Samba服务器。你可以方便地点击Status页的Resart smb按钮来实现。