45.5. YaST LDAP 客户程序

YaST 包含一个用于设置基于 LDAP 的用户管理的模块。如果安装期间未启用此功能,则通过选择网络服务+LDAP 客户程序来启动模块。YaST 会自动根据 LDAP 的需要来启用任何 PAM 和 NSS 相关更改(如下所述)并安装所需文件。

45.5.1. 标准过程

进程在客户机的后台运行的背景知识可帮助您理解 YaST LDAP 客户程序模块是如何运行的。如果为进行网络鉴定激活了 LDAP 或是调用了 YaST 模块,系统会安装包 pam_ldapnss_ldap 并调整两个相应的配置文件。pam_ldap 是负责在登录进程和 LDAP 目录(作为鉴定数据源)之间进行协商的 PAM 模块。将安装专用模块 pam_ldap.so 并调整 PAM 配置(请参见 例 45.11 “为适应 LDAP 而调整的 pam_unix2.conf”)。

例 45.11. 为适应 LDAP 而调整的 pam_unix2.conf

auth: use_ldap 
account: use_ldap 
password: use_ldap 
session: none

手动配置其它服务使用 LDAP 时,请将该服务对应的 PAM 配置文件中的 PAM LDAP 模块加入 /etc/pam.d。可以在 /usr/share/doc/packages/pam_ldap/pam.d/ 中找到为适应各种服务而调整过的配置文件。将相应文件复制到 /etc/pam.d 中。

使用 nss_ldap 可以对通过 nsswitch 机制执行的 glibc 名称解析进行调整,使其适应 LDAP 的部署。安装此包时将在 /etc/ 中创建新的调整过的文件 nsswitch.conf。有关 nsswitch.conf 工作方式的详细信息,请参见 第 38.5.1 节 “配置文件”nsswitch.conf 中必须存在以下行才能进行用户管理及 LDAP 鉴定。请参见 例 45.12 “nsswitch.conf 中的调整”

例 45.12. nsswitch.conf 中的调整

passwd: compat 
group: compat

passwd_compat: ldap 
group_compat: ldap 

这些行指示 glibc 的解析程序库首先评估 /etc 中的相应文件,而后还要访问作为鉴定和用户数据来源的 LDAP 服务器。测试这种机制,例如通过使用命令 getent passwd 读取用户数据库中的内容。返回的结果集不仅应该包含您系统中本地用户的调查结果,还应包含所有储存在 LDAP 服务器上的用户的调查结果。

要防止通过 LDAP 管理的普通用户使用 sshlogin 登录该服务器,文件 /etc/passwd/etc/group 都需要添加另外一行。这一行在 /etc/passwd 中为 +::::::/sbin/nologin,在 /etc/group 中为 +:::

45.5.2. LDAP 客户程序的配置

在 YaST 执行了 nss_ldappam_ldap/etc/passwd/etc/group 的初始调整之后,您只需将客户机连接到服务器并使 YaST 基于 LDAP 来执行用户管理。第 45.5.2.1 节 “基本配置” 中描述了基本设置。

使用 YaST LDAP 客户程序来进一步配置 YaST 组和用户配置模块。这包括为新用户和组执行默认设置和为用户或组指派的属性数和性质。LDAP 用户管理允许您为用户和组指派比传统用户或组管理解决方案更多的不同属性。第 45.5.2.2 节 “配置 YaST 组和用户管理模块” 中描述了此操作。

45.5.2.1. 基本配置

如果您选择 LDAP 用户管理或当您在安装的系统的 YaST 控制中心中选择网络服务+LDAP 客户程序时,基本 LDAP 客户程序配置对话框 (图 45.2 “YaST:LDAP 客户程序的配置”) 在安装期间会打开。

图 45.2. YaST:LDAP 客户程序的配置

YaST:LDAP 客户程序的配置

要针对 OpenLDAP 服务器来鉴定机器的用户并通过 OpenLDAP 来启用用户管理,请按如下操作:

  1. 单击使用 LDAP 以启用 LDAP。如果您希望使用 LDAP 来进行鉴定但不希望其它用户登录到此客户程序,则选择使用 LDAP 但禁用登录

  2. 输入要使用的 LDAP 服务器的 IP 地址。

  3. 输入 LDAP 基本 DN 以在 LDAP 服务器上选择搜索基础。

  4. 如果需要与服务器进行 TLS 或 SSL 受保护通信,则选择 LDAP TLS/SSL

  5. 如果 LDAP 服务器仍然使用 LDAPv2,则通过选择 LDAP 版本 2 来显式启用此协议版本。

  6. 选择启动 Automounter 来在客户程序上装入远程目录,如远程管理的 /home

  7. 单击结束来应用设置。

图 45.3. YaST:高级配置

YaST:高级配置

要作为管理员修改服务器上的数据,请单击高级配置。以下对话框显示在两个选项卡中。请参见 图 45.3 “YaST:高级配置”

  1. 客户程序设置选项卡中,根据需要来调整以下设置:

    1. 如果用户、口令和组的搜索基础与指定 LDAP 基本 DN 的全局搜索基础不同,则在用户映射口令映射组映射中输入这些不同的命名上下文。

    2. 指定口令更改协议。无论何时更改口令,使用的标准方法都为 crypt,它表示使用 crypt 生成的口令哈希值。有关此选项和其它选项的详细信息,请参见 pam_ldap 手册页。

    3. 指定与组成员属性一起使用的 LDAP 组。默认值为 member

  2. 管理设置中,调整以下设置:

    1. 通过配置基本 DN 来设置存储用户管理数据的基础。

    2. 管理员 DN 输入合适的值。此 DN 必须与 /etc/openldap/slapd.conf 中指定的 rootdn 值相同以使此特定用户能够处理 LDAP 服务器上存储的数据。

    3. 单击创建默认配置对象以在服务器上创建基本配置对象以通过 LDAP 启用用户管理。

    4. 如果您的客户机在网络中应作为主目录的文件服务器,则选中此机器上的主目录

    5. 单击接受以关闭高级配置,然后单击结束以应用设置。

使用配置用户管理设置编辑 LDAP 服务器上的项。随后将根据服务器上储存的 ACL 和 ACI 授予对服务器上的配置模块的访问权。请遵循 第 45.5.2.2 节 “配置 YaST 组和用户管理模块” 中说明的过程。

45.5.2.2. 配置 YaST 组和用户管理模块

使用 YaST LDAP 客户程序可以调整 YaST 模块使其适应用户和组管理,并按需扩展这些模块。使用个别属性的默认值来定义模板以简化数据注册。在此创建的预设值将作为 LDAP 对象储存在 LDAP 目录中。用户数据的注册仍使用常用的用户和组管理的 YaST 模块来完成。注册的数据作为 LDAP 对象存储在服务器上。

图 45.4. YaST:模块配置

YaST:模块配置

模块配置对话框 (图 45.4 “YaST:模块配置”) 允许创建新模块、选择和修改现有配置模块并设计和修改此类模块的模板。

要创建新的配置模块,请执行以下操作:

  1. 单击新建并选择要创建的模块的类型。对于用户配置模块,选择 suseuserconfiguration,对于组配置,选择 susegroupconfiguration

  2. 为新模板选择名称。

    内容视图随即显示一个表,列出此模块允许使用的所有特性及其指派值。除所有已设置的特性之外,该列表还包含当前方案允许的但当前未使用的所有其他特性。

  3. 接受预设值或通过选择相关属性来调整要在组和用户配置中使用的默认值(按编辑,然后输入新值)。只需通过更改模块的 cn 属性来重命名模块。单击删除将删除当前所选模块。

  4. 在单击确定之后,新的模块将添加到选择菜单中。

用于组和用户管理的 YaST 模块会内嵌带有合理标准值的模板。要编辑与配置模块关联的模板,请如下执行操作:

  1. 模块配置对话框中,单击配置模板

  2. 根据您的需要来确定指派给此模板的常规属性的值或将某些值保留为空。LDAP 服务器将删除空特性值。

  3. 修改、删除或添加新对象(LDAP 树中的用户或组配置对象)的新默认值

图 45.5. YaST:对象模板的配置

YaST:对象模板的配置

通过将模块的 susedefaulttemplate 特性值设置为调整过的模板的 DN,可以将模板与模块连接起来。

[Tip]提示

通过用变量样式代替绝对值的方法,可以从其他特性为某个特性创建默认值。例如,创建新用户时,将从 sngivenName 的特性值自动创建 cn=%sn %givenName

在所有模块和模板经过正确配置能够运行后,可以使用 YaST 按通常方式注册新组和用户。