Board logo

标题: 通用线程:Samba 简介 第二部分 为您的环境编译、安装和配置 Samba-1 [打印本页]

作者: look_w    时间: 2018-4-15 18:19     标题: 通用线程:Samba 简介 第二部分 为您的环境编译、安装和配置 Samba-1

下载 Samba现在应该从 Samba.org 网站上下载 Samba 2.0.7 或更高版本(请参阅本文后面的 )。选择最近的镜象站点后,单击 "download"(下载)链接。这时我们开始准备下载源代码了。您可以在页面中间紧接着 "Download" 标题后的那一段中找到正确的链接。我说明这一点是因为人们很容易错过这段,而导致不知道应该在哪个链接上单击。      
安装说明:
要从头开始编译 Samba,可以选择从二进制软件包(例如和 Linux 发行版一起提供的 RPM)中安装 Samba。这当然可以。但如同我在上一篇文章中讲到过的,如果您这样做,文件位置与在这里所引用的会有略微不同。      
下载了 Samba 2.0.7 或更高版本后,就可以把它解压缩到您选择的目录位置中了。从命令提示上输入:
1
% tar xzvf samba-2.0.7.tar.gz




将创建一个 samba-2.0.7 目录。cd 到它,然后查看它包含的内容。首先请注意 docs 目录。在这个目录中,可以看到另一个称为 textdocs 的目录。texdocs 包含整个 Samba 文档集。在 textdocs 目录中一个最重要的文件是 DIAGNOSIS.txt。如果您在使用相应的 Samba 操作时遇到了一些问题,它会指导您完成问题诊断的一步一步的过程。我们会介绍在该文件中提到的某些诊断过程,但不是全部。
编译和安装 Samba还需要关注一下主 samba-2.0.7 目录中的 sources 目录。在 sources 中,可以找到一个设计完美的配置脚本,它是为正确建立所有 makefile 而设计的。和所有其它配置脚本一样,要获得配置选项的列表,输入:
1
$ ./configure --help




可以将输出定向到 'more',这样就能查看所有的选项:
1
$ ./configure --help | more




请注意目录和文件名选项。要注意每个文件的安装位置,缺省的安装路径是 /usr/local/samba。 可以在配置 Samba 时通过传递 "--prefix=/usr/local" 选项来将它更改为 /usr/local。 例如,我将使用以下路径设置:
1
$ ./configure --prefix=/usr/local --localstatedir=/var/log --sysconfdir=/etc




上述配置选项会导致除配置文件以外的 Samba 的缺省树都在 /usr/local 中。Samba 将在 /etc 中查找这些文件,而日志文件往往在 /var/log 中。如果省略这些配置选项, 可以在 /usr/local/samba(/usr/local/samba/var、/usr/local/samba/etc 等等)目录中找到        所有文件。      
现在可以开始进行编译了。运行完配置后,输入:
1
$ make




编译完成后,以 root 输入以下命令来安装软件:
1
# make install




配置服务器配置通常是从 smb.conf 文件开始和结束的。这是 Samba 的主配置文件。它有许多不同的配置选项。为避免混淆,我们只介绍一些对于 Samba 正确操作必不可少的那些选项。首先,需要找出 smb.conf 的位置。如果使用我在上面指定的那些配置选项,应该将 smb.conf 放在 /etc 中。如果使用缺省路径,Samba 将在 /usr/local/samba/etc 中查找它。要开始使用,cd 到相应的目录,启动您常用的文本编辑器,然后输入以下几行。我会随时提供一些注释,帮助您理解每个选项都起什么作用。将以下几行添加到 smb.conf 文件中:
1
2
3
4
5
[global]
workgroup = YOURWORKGROUP
security = user
encrypt passwords = yes
guest account = guest




第一行告诉 Samba 我们将选项放在了 "global" 那一节。有许多选项只能在这一节中定义。 这些选项控制着 Samba 的整体行为。
第二行告诉 Samba 它将创建的 Windows 工作组的名称。用您工作组的相应名称来替代 YOURWORKGROUP。
在第三行上,我们告诉 Samba 以用户级别的安全性方式来运行。 这个选项将导致 Samba 通知所有连接的 Windows 客户机,它们需要提供有效的用户名/口令组合来获得对任何网络资源的访问。 这绝对是个好办法。 用户级安全性是 Samba 最常用的安全性级别,因为它是绝大多数文件共享情况下的最佳方案。 但也可以使用其它的安全性级别。有一种方便的方式,它告诉 Samba 根据现有 Windows NT 或 2000 Server 的安全性数据库来认证所有用户。在这篇文章中将不介绍这种特定方式。如果希望了解有关它的更详细信息,请查看 smb.conf 主页的 "security"(安全性)选项。
现在该轮到第四行了。在这里,我们告诉 Samba 与 Samba 之间以加密方式交换口令。 通常您总是希望以加密方式运行 Samba,除非所有客户机都极其古老(例如 Windows for Workgroup 时代的机器)。 支持加密口令的确会使 Samba 除了标准 Unix 口令数据库以外还需要自己的口令文件。如果您认为不使用加密口令比较好,从而可以避免维护两个口令文件,千万不要这么做!不使用加密口令将导致在 Windows 2000 以及不太旧版本的 Windows NT 4.0 中产生共享问题。如果确实希望避免维护两个单独数据库,Samba 提供了几种同步两个数据库的方法,这将是一种比较好的办法。
下一行指定了用于 guest 访问的有效 Unix 用户帐户。人们通常会使用 "guest account=nobody", 因此如果还没有这样的用户,建议您向系统添加一个字面上就是 "guest" 的用户。新的 "guest" 帐户不需要设置口令,并且不需要以交互方式登录。 (也可以选择使用口令和有效的缺省外壳来配置 guest。)
现在,我们可以向 smb.conf 添加 WINS 支持选项了。需要向 global 节添加以下两行之一:
1
2
3
   wins support = yes
或者
   wins server = WINS 服务器的 IP 地址




如果在当前子网中已有一个 WINS 服务器(例如,运行 WINS 的 Windows NT Server),则需要使用另一个选项,并在等号右边指定 WINS 服务器的名称。这样就禁用了 Samba 的内部 WINS 服务,并且将使用您指定的 WINS 服务器。
如果子网中没有 WINS 服务器在运行,或者您是在家中设置 Samba,不知道确切的 WINS 服务器,那么就需要使用第一个选项。它将通知 Samba 让它成为 LAN 的 WINS 服务器。
您一定想知道 WINS 是做什么用的。从根本上说,可以把 WINS 看做是本地的动态 DNS 数据库。当 Samba 作为 WINS 服务器运行的时侯,同一子网上每个与 Windows 兼容的机器都会向 Samba 注册它的 IP 地址和 NetBIOS 名称(又称“计算机名”)。这可以让 Windows 机器使用 Samba 的 WINS 数据库来请求特定 NetBIOS 名称的 IP 地址。WINS 是网络浏览的关键组件;您在 Windows 机器上“网络邻居”中四处查看时的行为就是一种网络浏览。
现在可以将更多选项添加到 global 节:
1
2
3
4
local master = yes
os level = 99
domain master = yes
preferred master = yes




现在开始一一说明。所有这些选项都与网络浏览有关。我已提到过 WINS 是网络浏览的关键组件,但要使浏览正确运行,还需要另一种元素。必须有一个本地主浏览器。听上去比较奇怪吧? 需要进一步解释。
为使浏览正常进行,必须有一些中央位置,用来保存本地子网上存在哪些机器和工作组信息的记录。这个特别的列表称为浏览列表。浏览列表用于构建您在第一次单击“网络邻居”时看到的工作组、域和机器的列表。 任何现代的 Windows 机器都可以成为本地主浏览器。理想情况下,我们希望 Samba 是网络上的本地主浏览器。
这是怎样实现的呢?基本上,在子网上会有几个强健的与 Windows 兼容的机器定期地在 LAN 上来回传递信息包,尝试确定谁将成为本地主浏览器,通过这种方法把情况搞明白。这一过程称为“浏览器选举”。
作个大度的人请别使用 Samba 可以在所有“浏览器选举”中打败 Windows 的能力来作为取笑您所在组织 Microsoft 管理员的理由。 记住,重要的是作个有道德的赢家。

最后,这种广播信息包大战中的“赢家”将成为本地主浏览器。我们可以通过使用选项 os level = 99 来使 Samba 赢得这场竞赛, 这个选项可以让它打败 LAN 上的其它所有机器。这是因为 Windows 的每个版本(从 Windows 95 到 NT 再到 2000)都有个硬编码的 OS 级别,导致最高版本的 Windows 成为本地主浏览器(Windows 版本越新,数字就越大)。 将 Samba 设置为 99 可以让它打败所有 Microsoft 的产品,使它每次都成为本地主浏览器。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0