首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

将 LDAP 目录用于 Samba 认证-简述

将 LDAP 目录用于 Samba 认证-简述

教程概述未来之路本教程详细讲述了将 LDAP(轻量级目录访问协议,Lightweight Directory Access Protocol)目录用于存储 Samba 用户帐户信息(通常存储在 smbpasswd 文件中)所需的步骤。这里概述的过程是基于  和  的当前稳定发行版的,在撰写本文时它们分别是 2.2.4 和 2.0.23。如果您正在从头构建系统,除非您有不这样做的特殊需求或理由,那么建议您总是使用 Samba 和 OpenLDAP 的最新版本。对于 Samba 尤其是如此,因为目前正在进行大量关于程序的 LDAP 和 Windows 域集成的开发。Samba 当前的 CVS HEAD 分支(它是最新的开发树,最终将成为 Samba 3.0)将使得与 LDAP 的集成更为轻松,因为管理员将不必象现在这样担心两种用户帐户(UNIX smbpasswd 帐户和 Windows 域帐户)的同步;Samba 3.0 将取消对现有 smbpasswd 帐户的需求。
学完本教程后,您应该对下列内容有清晰的理解:
  • 如何收集、构建和/或安装必需的软件。
  • 如何配置以便使用 OpenLDAP 服务器。
  • 如何配置 Samba,以及如何将用户、组和机器帐户添加到 OpenLDAP 服务器。
  • 还有如何维护(删除和修改)帐户信息。
本教程详细讲述配置 Samba 担任 PDC(主域控制器,Primary Domain Controller)的机制。可以在 IBM eServer 开发者园地上另一篇题为  的教程上获得这些信息。
假定条件本教程假定以下条件:
  • 一个可正常运行的、完全配置好的 Linux/UNIX 系统。本教程是基于  R7.3 的。它也在 RedHat 7.2 和 (用于高级用户的“元分发版(metadistribution)”)上测试过 。理论上,给定的指示信息应该可以在任何 *NIX 操作系统上工作;路径名和约定因分发版而异。
  • 可正常运行的、配置好的 Samba PDC 安装。除了上一页提到的 IBM eServer 开发者园地中的教程之外,F. Hagethorn 还创建了一组很棒的脚本,以帮助您快速地使用 Samba 创建 PDC。他将自己的产品称为 VASC(十分高级的 Samba 配置,Very Advanced Samba Configuration),您可以在找到它。
  • 对 LDAP 所用概念和术语的基本理解(例如,专有名称、组织单元、对象类等)。即使是对正确地实现 LDAP 服务器过程中背后的基本概念作一个简介,其篇幅也可以轻易地达到密密麻麻的 50 页内容。Adam Tauno Williams 为 LDAP 结构和约定准备了很好的介绍;可以下载其 PDF 格式。有关详细信息,请参阅                        一章。
  • 对常用管理术语和过程(如文件权限、创建用户帐户、移动和复制文件等)的基本理解。
  • 您需要足够的计算机来处理文件共享和目录查找的负载(假定 Samba 和 OpenLDAP 在同一机器上运行― 这是小到中型企业比较常用的配置),尽管对某些人来说这个问题可能很明显。本教程是根据在具有三个磁盘 ServeRAID 阵列、双 P3 1.2 GHz 处理器和 1GB RAM 的 IBM eServer  上编写和测试的。根据配置,这台机器可以轻松地为 250-350 个用户服务,这个数量取决于所服务的文件大小和并发用户的数目。
为什么使用 LDAP 目录?在传统的 Samba 安装中,用户帐户和密码信息存储在 /usr/local/samba/private/smbpasswd 中(或者,根据配置,有时存储在 /etc/smbpasswd 中)。因为 LM/NT 密码散列和 smbpasswd 散列之间的不兼容性,所以用户必须首先存在于服务器的 /etc/passwd 文件中,然后将该用户手工添加到 smbpasswd 文件中。对于少量用户这很好,但随着用户群逐渐增大,这种方法的不利方面也随之显现。例如:
  • 必须串行执行所有认证查找。假定每次域登录大约进行两次查找(一次用于正常的会话连接,另一次在映射网络驱动器或打印机时执行),对于大型站点,这是一个性能瓶颈。我们所需要的是象数据库中所使用的那种建立索引的方法。
  • 想要将 smbpasswd 文件复制到多个 Samba 服务器的管理员只得使用外部工具(如 rsync 和 ssh),或者编写定制的、内部脚本。
  • smbpasswd 文件的结构缺少用来存储属性的字段,这些属性包括主目录、密码到期时间/日期以及其它密码详细信息(例如,能/不能更改)和用户/组 RID(相对标识符,Relative Identifier)。
使用 LDAP 目录服务会减轻这些限制,以及其它限制,并允许将集中资源用于所有用户管理。
有两件事是 Samba/LDAP 安装无法“开包”即可完成的:
  • 从 Windows 2000 活动目录(Active Directory)服务器检索用户帐户信息。
  • 减少对 /etc/passwd 的需求。
暂定于 2002 年夏末发布的 Samba 3.0 发行版将解决这两个问题。
返回列表