首页 > 学院 > 网络通信 > 正文

通用线程:Samba简介第二部分

2019-11-04 20:10:22
字体:
来源:转载
供稿:网友

  为您的环境编译、安装和配置 Samba
  
  Daniel Robbins
  总裁/CEO,Gentoo Technologies, Inc.
  
  内容:
  
  
  下载 Samba
  编译和安装
  配置服务器
  安全性选项
  测试共享
  创建用户
  最终配置
  启动 Samba
  配置客户机
  进行测试
  下一次
  参考资料
  关于作者
  
  在他的上一篇文章中,Daniel 介绍了 Samba 的用途。现在该让它在系统上运行了。在本文中,他将指导您完成 Samba(版本 2.0.7)的编译、安装和最初的配置,使它可以在您的环境中使用。
  
  下载 Samba
  现在应该从 Samba.org 网站上下载 Samba 2.0.7 或更高版本(请参阅本文后面的参考资料)。选择最近的镜象站点后,单击 /"download/"(下载)链接。这时我们开始预备下载源代码了。您可以在页面中间紧接着 /"Download/" 标题后的那一段中找到正确的链接。我说明这一点是因为人们很轻易错过这段,而导致不知道应该在哪个链接上单击。
  
  安装说明:
  要从头开始编译 Samba,可以选择从二进制软件包(例如和 linux 发行版一起提供的 RPM)中安装 Samba。这当然可以。但如同我在上一篇文章中讲到过的,假如您这样做,文件位置与在这里所引用的会有略微不同。
  
  下载了 Samba 2.0.7 或更高版本后,就可以把它解压缩到您选择的目录位置中了。从命令提示上输入:
  
  % 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 而设计的。和所有其它配置脚本一样,要获得配置选项的列表,输入:
  
  $ ./configure --help
  
  可以将输出定向到 /'more/',这样就能查看所有的选项:
  
  $ ./configure --help more
  
  请注重目录和文件名选项。要注重每个文件的安装位置,缺省的安装路径是 /usr/local/samba。 可以在配置 Samba 时通过传递 /"--PRefix=/usr/local/" 选项来将它更改为 /usr/local。 例如,我将使用以下路径设置:
  
  $ ./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 等等)目录中找到所有文件。
  
  现在可以开始进行编译了。运行完配置后,输入:
  
  $ make
  
  编译完成后,以 root 输入以下命令来安装软件:
  
  # make install
  
  配置服务器
  配置通常是从 smb.conf 文件开始和结束的。这是 Samba 的主配置文件。它有许多不同的配置选项。为避免混淆,我们只介绍一些对于 Samba 正确操作必不可少的那些选项。首先,需要找出 smb.conf 的位置。假如使用我在上面指定的那些配置选项,应该将 smb.conf 放在 /etc 中。假如使用缺省路径,Samba 将在 /usr/local/samba/etc 中查找它。要开始使用,cd 到相应的目录,启动您常用的文本编辑器,然后输入以下几行。我会随时提供一些注释,帮助您理解每个选项都起什么作用。将以下几行添加到 smb.conf 文件中:
  
  [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 节添加以下两行之一:
  
  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 节:
  
  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 的产品,使它每次都成为本地主浏览器。
  
  安全性选项
  在结束 global 这一节前,有一些您可能感爱好的安全性选项。主机的 /'allow/' 选项可以让您限制与 Samba 连接的 IP 地址:
  
  hosts allow = 192.168.1. 127.
  
  除 localhost 127 以外,这个选项只答应 192.168.1 网络中的机器与 Samba 连接。要确保在 hosts allow 那一行的结尾有个 127。
  
  接口选项在机器碰巧有多个网络接口时非凡有用。它可以让您指定在哪个网络接口上可以使用 Samba。其使用方法如下:


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表