如何开始使用 Apple Open Directory

微信扫一扫,分享到朋友圈

如何开始使用 Apple Open Directory

Open Directory(目录服务)为公司和企业用户提供了一个集中存储用户和密码的地方。下面介绍如何在 macOS 上使用它。

如今,许多企业都需要一个中央位置来存储用户、密码、组、计算机和其他网络实体的信息。

在大多数企业中,使用轻量级目录访问协议 (LDAP) 服务器或 Windows Server Microsoft 基于 LDAP 构建的目录服务 Active Directory 来满足这一需求。

苹果公司在 1997 年收购 NeXT 并在 2000 年发布 Mac OS X 时,在 OS X 中提供了自己的目录服务 NetInfo

除了 NetInfo,苹果还提供了一款名为 NetInfo Manager 的应用程序,后来更名为 Directory Utility。它允许用户访问 NetInfo 服务器以获取用户和组信息。

这些服务统称为目录服务。目录服务背后的理念是将所有用户和设备信息整合到一处,并使用这些服务授权用户访问网络资源。

NetInfo 并不受用户和管理员的欢迎,因此在 Mac OS X 10.4 Tiger 版本中被删除。相反,苹果开始转向 LDAP,因为它已成为目录服务的标准。

Mac OS X Server

Mac OS X Server 包含 LDAP 服务器和其他服务,苹果公司推出 Mac OS X Server 后,Mac OS X Server 后来被合并为一个附加 app,简单地称为 “Server”。该应用程序可从 Mac App Store 下载,并添加到 macOS 零售版本中。

OS X Server 允许企业运行自己的 LDAP 服务器来存储用户信息和授权用户。服务器后来于 2022 年停用。

Apple Open Directory

苹果的 LDAP 实现被称为 Apple Open Directory,是 OpenLDAP 项目的分叉。

Apple Open Directory 还包括基于 Kerberos 票据的身份验证服务器的实现。

在 macOS 中,Apple Open Directory 由一个名为 opendirectoryd 的后台守护进程管理。

微软活动目录

在这期间,微软开发了自己的目录服务服务器,称为 Active Directory (AD),并随 Windows Server 2000 一起推出。

Active Directory 是企业和组织网络中使用最广泛的目录服务之一。

AD 提供一系列服务,包括 LDAP、Windows 域服务、组策略、加密、证书和联盟服务。如今,微软还提供基于云的目录和用户信息服务,名为 Microsoft Entra ID

所有这些目录服务都可用于查询和验证用户和用户信息,以便使用网络资源,并查询特定用户的联系信息。

在目录服务中,存储用户或设备对象的数据库称为域。

框架和开发

在开发方面,Apple 提供了两个框架,可添加到任何 Xcode 项目中并链接到已构建的 Mac 应用程序: DirectoryServices.framework 和 OpenDirectory.framework。

要将这些框架添加到 Xcode 项目中,请导航到 Xcode 项目中的目标,然后单击常规选项卡中框架、库和嵌入式内容窗格中的 “+”按钮。在出现的表单中,添加 DirectoryServices.framework 和 OpenDirectory.framework

为获得更多 UNIX 目录服务访问权限,还可添加 libcodedirectory.tbd 静态库。

Apple Open Directory API 简洁得出人意料:只有 9 个类和一个协议(QDQueryDelegate)。通过使用 ODNode、QDQuery、QDRecord 和 ODSession 对象,您可以启动一个 OD 会话,对其进行配置(ODConfiguration),然后查询目录服务服务器以操作 OD 记录。

向 OD 提交查询后,查询结果将通过 QDQueryDelegate 协议返回,该协议由一个方法组成:

func query(ODQuery!, foundResults: [Any]!, error: (any Error)!)

或者在 Objective-C 中:

- query:foundResults:error:

要在应用程序中添加此功能,请声明一个符合 QDQueryDelegate 协议的类,然后实现 query:foundResults:error 方法。在该方法中,您的代码可以决定如何处理返回的任何数据和错误。

OD 查询完成后,该方法将包含原始查询对象、该查询的任何结果以及返回的错误(如果有)。

有关 OpenDirectory.framework 的更多信息,请参阅 Apple 开发人员文档

目录实用程序

最初,苹果将 Directory Utility 应用程序放在 macOS 附带的 /Utilities 文件夹中。

但如今,该应用却被隐藏在 /System/Library/Core Services/Applications 中,这很可能是由于将组织机构迁移到云端的推动所致。

如果你想使用 Directory Utility,请不要尝试将其复制或移动到其他位置,因为任何复制版本都无法使用。

相反,你可以将其拖动到 Mac Finder 的 Dock 中,为应用程序创建一个别名。也可以按住 Command-Option 并将应用程序拖到磁盘上的某个位置,为应用程序创建别名。

如果你正在使用 Kerberos 服务,同一文件夹中还有另一个名为 Ticket Viewer 的应用程序。Ticket Viewer 很简单,只提供添加和删除身份信息、将一个身份信息设置为默认身份信息以及更改密码的功能。

使用目录实用程序

目录实用工具提供多种服务。您可以使用 文件->连接菜单 项直接连接到任何受支持的目录服务服务器,也可以使用主窗口顶部的三个选项卡之一:

  1. 服务
  2. 搜索政策
  3. 目录编辑器

要使用目录编辑器功能,必须拥有要编辑的服务的管理员密码。

"服务" 选项卡提供了两个简单的选项: Active Directory 或 LDAPv3。

单击窗口底部的锁定图标,然后选择其中一个访问特定类型的服务器。单击窗口底部的小铅笔图标,会显示可用服务器上的目录服务表。

您还可以单击工作表中的新建按钮创建新的目录服务配置。

在 “搜索策略” 选项卡中,可以使用自动、本地或自定义搜索路径查看身份验证和联系人信息。搜索策略选项卡允许你查看不同目录域中的用户信息。

"目录编辑器" 选项卡允许你直接编辑目录服务信息,不过如前所述,你需要管理员密码才能编辑。请小心使用目录编辑器选项卡,因为它很容易编辑重要信息。

在 “编辑器” 选项卡下可以查看任何目录服务信息,包括数十种不同守护进程、服务和网络的设置。稍有不慎,你就可能更改服务,导致 Mac 或服务器的部分功能无法使用。

有关如何使用 Directory Utility app 的完整信息,请参阅《目录实用工具使用手册》。

如果你需要访问 Windows Active Directory 服务器,Apple 平台部署指南中也有一个题为 《集成 Mac 电脑与 Active Directory》的页面。

LDAP 是一个相当复杂的主题,可能需要一些时间才能掌握。如需简明扼要的概述,请查看 LDAPWiki

上一篇

最新泄露信息显示苹果 iPhone 16 Pro 有三种颜色

下一篇

如何在 iOS 18 上使用 “减少中断” 及其作用

你也可能喜欢

评论已经被关闭。

插入图片

公众号

公众号
关注我们

排行榜

返回顶部