使用 Oracle® Solaris 11.2 目录和命名服务:DNS 和 NIS

退出打印视图

更新时间: 2014 年 7 月
 
 

nss_ad 命名服务模块概述

Oracle Solaris 客户机必须先加入某个 AD 域,然后才能使用任何 AD 互操作功能(包括 nss_ad)。kclient 实用程序用于将客户机加入到 AD。执行加入操作时,kclient 在客户机上配置 Kerberos v5。然后,通过在受支持数据库的 nsswitch.conf 文件中将 ad 指定为源可以使用 nss_ad 来解析命名服务请求。nss_ad 模块使用主机凭证在 AD 中查找命名服务信息。

nss_ad 模块使用 DNS 服务器记录来自动搜索 AD 目录服务器,例如域控制器和全局目录服务器。因此,必须在 Oracle Solaris 客户机上正确配置 DNS。nss_ad 模块还使用 LDAP v3 协议访问 AD 服务器中的命名信息。由于 nss_ad 适用于本机 AD 架构,因此无需修改 AD 服务器架构。

nss_ad 模块当前不支持 Windows 用户登录到 Oracle Solaris 系统。在支持这类登录之前,这类用户应当继续使用传统的后端(例如 nisldap)进行登录。

必须启用 idmapsvc:/system/name-service/cache 服务才能使用 nss_adnss_ad 模块使用 idmap 服务在 Windows 安全标识符 (security identifiers, SID)、UNIX 用户标识符 (UNIX user identifier, UID) 和组标识符 (group identifier, GID) 之间进行映射。

请确保所有 AD 用户名和组名都以域名进行了限定,例如 user@domaingroup@domain。例如,假如 dana 是名为 domain 的域中的一个有效的 Windows 用户,则 getpwnam(dana) 将失败,但 getpwnam(dana@domain) 将成功。

以下其他规则也适合 nss_ad 模块:

  • 与 AD 一样,nss_ad 对用户名和组名执行不区分大小写的匹配。

  • 在 UTF-8 语言环境中或者用户和组的名称中只有 ASCII 字符的域中,请仅使用 nss_ad 模块。

  • 众所周知的 SID 是标识 Windows 系统中的通用用户或通用组的一组 SID。它们不是特定于域的,并且它们的值在所有 Windows 操作系统中保持不变。这些众所周知的 SID 的名称以字符串 BUILTIN 予以限定,例如 Remote Desktop Users@BUILTIN

  • nss_ad 模块不支持枚举。因此,使用它们的 getpwent()getgrent() 接口与命令(例如 getent passwdgetent group) 无法从 AD 检索信息。

  • nss_ad 模块当前仅支持 passwdgroup 文件,nss_ad 不支持位于 passwd 项后的其他命名服务数据库,例如 audit_useruser_attr。如果 ad 后端已被处理(基于配置),则对于这些数据库,它将返回 "NOT FOUND"。