Samba 是一个流行的开源软件包, 它提供了针对 Microsoft® Windows® 客户机的文件和打印服务。 这类客户机可以连接并使用 FreeBSD 系统上的文件空间, 就如同使用本地的磁盘一样, 或者像使用本地打印机一样使用 FreeBSD 上的打印机。
Samba 软件包可以在您的 FreeBSD
安装盘上找到。 如果您没有在初次安装 FreeBSD
时安装 Samba, 则可以通过 net/samba34
port 或 package 来安装。
默认的 Samba 配置文件会以
/usr/local/share/examples/samba34/smb.conf.default
的名字安装。这个文件必须复制为
/usr/local/etc/smb.conf
并进行定制,
才能开始使用 Samba。
smb.conf
文件中包含了
Samba 的运行时配置信息,
例如对于打印机的定义, 以及希望共享给 Windows®
客户机的 “共享文件系统”。
Samba 软件包包含了一个称为
swat 的 web 管理工具,
后者提供了配置 smb.conf
文件的简单方法。
Samba Web 管理工具 (SWAT) 是一个通过
inetd 运行的服务程序。 因此,
需要把 /etc/inetd.conf
中下面几行的注释去掉,
才能够使用 swat
来配置 Samba:
如 例 30.1 “重新加载 inetd 配置文件” 中所介绍的那样, 在修改了这个配置文件之后, 必须让 inetd 重新加载配置, 才能使其生效。
一旦在 inetd.conf
中启用了
swat, 就可以用浏览器访问
connect to http://localhost:901 了。
您将首先使用系统的 root
帐号登录。
只要成功地登录进了
Samba 配置页面,
就可以浏览系统的文档, 或从
(全局) 选项卡开始配置了。
小节对应于 [global]
小节中的变量, 前者位于
/usr/local/etc/smb.conf
中。
无论是使用 swat,
还是直接编辑 /usr/local/etc/smb.conf
,
通常首先要配置的 Samba
选项都是:
在
/usr/local/etc/smb.conf
中的两个最重要的配置,
是选定的安全模型, 以及客户机上用户的口令存放后端。
下面的语句控制这些选项:
security
最常见的选项形式是
security = share
和 security
= user
。 如果您的客户机使用用户名,
并且这些用户名与您的 FreeBSD 机器一致,
一般应选择用户级 (user) 安全。 这是默认的安全策略,
它要求客户机首先登录, 然后才能访问共享的资源。
如果采用共享级 (share) 安全, 则客户机不需要用有效的用户名和口令登录服务器, 就能够连接共享的资源。 这是较早版本的 Samba 中的默认值。
passdb backend
Samba 提供了若干种不同的验证后端模型。
您可以通过 LDAP、 NIS+、 SQL 数据库, 或经过修改的口令文件,
来完成客户端的身份验证。 默认的验证模式是
smbpasswd
, 这也是本章将介绍的全部内容。
假设您使用的是默认的 smbpasswd
后端, 则必须首先创建一个
/usr/local/etc/samba/smbpasswd
文件,
来允许 Samba 对客户进行身份验证。
如果您打算让 UNIX® 用户帐号能够从 Windows®
客户机上登录, 可以使用下面的命令:
#
smbpasswd -a username
目前推荐使用的后端是 tdbsam
,
您应使用下面的命令来添加用户帐号:
#
pdbedit -a
-u
username
请参考 官方的 Samba HOWTO 以了解关于配置选项的进一步信息。 按照前面给出的基本描述, 您应该已经可以启动 Samba 了。
net/samba34
port
会增加一个新的用于控制
Samba 的启动脚本。 要启用这个脚本,
以便用它来完成启动、 停止或重启
Samba 的任务, 需要在
/etc/rc.conf
文件中加入:
此外, 也可以进行更细粒度的控制:
这也同时配置了在系统引导时启动 Samba。
配置好之后, 就可以在任何时候通过下面的命令来启动 Samba 了:
#
/usr/local/etc/rc.d/samba start
Starting SAMBA: removing stale tdbs :
Starting nmbd.
Starting smbd.请参见 第 12.7 节 “在 FreeBSD 中使用 rc” 以了解关于使用 rc 脚本的进一步信息。
Samba 事实上包含了三个相互独立的服务程序。
您应该能够看到
nmbd 和 smbd
两个服务程序都是通过 samba
脚本启动的。 如果在
smb.conf
中启用了 winbind 名字解析服务,
则应该可以看到 winbindd
服务被启动起来。
可以在任何时候通过下面的命令来停止运行 Samba:
#
/usr/local/etc/rc.d/samba stop
Samba 是一个复杂的软件包, 它提供了用于与 Microsoft® Windows® 网络进行集成的各式各样的功能。 要了解关于这里所介绍的基本安装以外的其它功能, 请访问 http://www.samba.org。
本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
如果对于FreeBSD有问题,请先阅读
文档,如不能解决再联系
<questions@FreeBSD.org>.
关于本文档的问题请发信联系
<doc@FreeBSD.org>.