跳过导航链接 | |
退出打印视图 | |
在 Oracle Solaris 11.1 中使用命名和目录服务 Oracle Solaris 11.1 Information Library (简体中文) |
4. 设置 Oracle Solaris Active Directory 客户机(任务)
11. 为使用 LDAP 客户机设置 Oracle Directory Server Enterprise Edition(任务)
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 系统。在支持这类登录之前,这类用户应当继续使用传统的后端(例如 nis 和 ldap)进行登录。
必须启用 idmap 和 svc:/system/name-service/cache 服务才能使用 nss_ad。nss_ad 模块使用 idmap 服务在 Windows 安全标识符 (security identifiers, SID)、UNIX 用户标识符 (UNIX user identifier, UID) 和组标识符 (group identifier, GID) 之间进行映射。
请确保所有 AD 用户名和组名都以域名进行了限定,例如 user@domain 或 group@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 passwd 和 getent group) 无法从 AD 检索信息。
nss_ad 模块当前仅支持 passwd 和 group 文件,nss_ad 不支持位于 passwd 项后的其他命名服务数据库,例如 audit_user 和 user_attr。如果 ad 后端已被处理(基于配置),则对于这些数据库,它将返回 "NOT FOUND"。
nss_ad 模块要求 Oracle Solaris 客户机使用 DNS 进行主机解析。
有关说明,请参见如何启用 DHCP 客户机。
注 - AD 域名称必须通过 domain 指令进行指定,或者指定为由 search 指令指定的列表中的第一个项。
如果同时指定了这两个指令,将优先考虑最后指定的那个指令。这是 idmap 自动搜索功能正常工作所必需的。
在下面的示例中,dig 命令验证是否可以通过使用 AD 服务器的名称和 IP 地址来解析该服务器。
# dig -x 192.168.11.22 +short myserver.ad.example # dig myserver.ad.example +short 192.168.11.22
# svccfg -s svc:/system/name-service/switch svc:/system/name-service/switch> setprop config/host = astring: "files dns" svc:/system/name-service/switch> select system/name-service/switch:default svc:/system/name-service/switch:default> refresh svc:/system/name-service/switch:default> quit
注 - 要包含其他命名服务(例如 nis 或 ldap)用于主机解析,请将其添加在 dns 之后。
例如:
# svcs svc:/network/dns/client STATE STIME FMRI online Oct_14 svc:/network/dns/client:default
例如:
# /usr/sbin/kclient -T ms_ad
# svccfg -s svc:/system/name-service/switch svc:/system/name-service/switch> setprop config/password = astring: "files nis ad" svc:/system/name-service/switch> setprop config/group = astring: "files nis ad" svc:/system/name-service/switch> select system/name-service/switch:default svc:/system/name-service/switch:default> refresh svc:/system/name-service/switch:default> quit
# svcadm enable idmap
# svcadm refresh name-service/switch
注 - 每次刷新名称服务转换时,如有必要,nscd 模块都将自动重新启动。
例如:
# getent passwd 'test_user@example' test_user@example:x:2154266625:2154266626:test_user:: # getent passwd 2154266625 test_user@example:x:2154266625:2154266626:test_user::