本页介绍如何将 Active Directory 用作 NFS 的 LDAP 服务器。
NetApp Volumes 在以下使用场景中使用 LDAP 服务器:
在通过 NFS 和 SMB 提供并行访问的多协议卷上映射 Windows 和 UNIX 身份。
通过检索给定 UID 的最多 1,024 个 GID 来支持 NFS 扩展群组。
将 NFSv4 安全标识符映射到 UID 和 GID。
将 Kerberos 正文映射到 UID 和 GID。
如需了解详情,请参阅使用 Active Directory 的使用场景。
Flex Unified ONTAP 模式提供了灵活的选项,用于配置池的 LDAP 客户端以连接到许多常用的 LDAP 服务器。如需了解详情,请参阅 为 ONTAP NFS 访问创建 LDAP 客户端配置 和 如何在 ONTAP 中配置 LDAP。
对于所有其他服务级别,该服务仅支持 Active Directory 作为 LDAP 服务器。
NetApp Volumes 将 LDAP 查询用于以下用途:
将 UNIX 用户名映射到 UID 和主 GID。
如果存储池上启用了 LDAP,请查找给定 UID 的所有 GID。
将 UID 映射到 UNIX 用户名。
将 GID 映射回群组名称。
将 UNIX 用户名映射到备用 Windows 用户名。
LDAP 服务器使用 LDAP 架构来定义存储相关信息的属性。Active Directory 和 NetApp Volumes 使用 RFC2307bis 架构来提取此信息。只有 ONTAP 模式允许您使用或定义不同的架构。Active Directory 已提供此架构,但您必须为用户和群组填充所需的属性。
您必须使用值填充以下属性,才能成功查找:
| UNIX 属性 | RFC2307bis 属性名称 |
|---|---|
| UNIX 用户名 | uid |
| UNIX 用户数字 ID | uidNumber |
| UNIX 群组名称 | cn |
| UNIX 群组数字 ID | gidNumber |
| UNIX 用户对象类 | objectClass |
| UNIX 群组对象类 | objectClass |
objectClass 必须包含 UNIX 用户的 user 和 UNIX 群组的 group。
虽然 Active Directory 提供了这些属性字段,但 uid、
uidNumber、cn 和 gidNumber 字段默认为空,并且必须由网域
管理员填充。如果字段为空,查找会失败,系统会默认使用名为 pcuser 的匿名用户,其 UID=65534
和 GID=65534。此用户通常没有访问
UNIX 卷上文件的权限,这可能会导致access denied错误。
对于多协议访问,Windows 用户名必须与 UNIX 用户名匹配,这样系统才能将 UNIX UID 映射到 Windows SID。如果用户名不匹配,请参阅
如何在 ONTAP 中配置 LDAP
,了解如何使用 uid 和
sAMAccountName 属性组合来配置非对称名称映射。
NetApp Volumes 会缓存 LDAP 查询结果。每个缓存都有一个定义的存留时间 (TTL),之后条目会过期以防止数据过时。 NetApp Volumes 还使用负 TTL 暂时缓存失败的查找,这有助于防止对不存在的对象重复查询。
下表介绍了 LDAP 缓存的存留时间 (TTL) 设置:
| 缓存 | 默认超时时间 |
|---|---|
| 群组成员资格列表 | 24 小时存留时间 |
| UNIX 群组 (GID) | 24 小时存留时间,1 分钟负存留时间 |
| UNIX 用户 (UID) | 24 小时存留时间,1 分钟负存留时间 |