在MacOS X上通过OpenLDAP配置脱机身份验证

在本教程中,我们将学习如何在MacOS X上通过OpenLDAP配置脱机身份验证。如果您已经通过目录服务器(例如OpenLDAP,Active Directory,FreeIPA)在MacOS X上配置了基于网络的身份验证,则可能要使用当您未连接到目录服务提供程序服务器时,或者如果这些服务器处于脱机状态,则使用相同的目录帐户对MacOS系统进行身份验证。

如果您使用的是Unix系统,则可以使用 系统安全服务守护程序(SSSD) 它在指定的时间段内提供脱机凭据缓存,以帮助进行脱机身份验证。在MacOS X系统上,这可以通过使用移动用户帐户来实现。

什么是移动用户帐户?移动帐户是一种帐户类型,可让您远程访问基于服务器的网络用户帐户。无论您是否连接到网络,都可以使用网络帐户的用户名和密码登录。

在MacOS X上通过OpenLDAP配置脱机身份验证

在继续之前,我们假设您已经在MacOS X系统上配置了OpenLDAP身份验证。如果没有,请检查以下链接;

在MacOS X上配置OpenLDAP身份验证

为了在MacOS X上通过OpenLDAP启用脱机身份验证,您需要创建一个移动用户帐户,该用户帐户的用户名与该用户的LDAP用户名相同。

您可以通过多种方式在MacOS X系统上创建移动帐户。您可以按照此处所述通过用户界面进行操作 MacOS Catalina或Mojave

在本教程中,我们将使用以下命令通过终端创建移动帐户 createmobileaccount 命令, /System/Library/CoreServices/ManagedClient.app/Contents/Resources/createmobileaccount

以下是的语法 createmobileaccount 命令。

usage: createmobileaccount -n username [-h homepath] [-P | [-p password]] [-e] [-q] [[-x] | [-X]] [-d] [-v] 
-n username : user record name.
-h homepath : user home path; Default is "/Users/".
-p password : user password.
-P : prompt for user password. A user password is required to create a FileVault home.
-e encrypt : encrypt new home with FileVault.
-q quota : max size in bytes of FileVault home.
-x : create as external account on non-boot volumes. Default.
-X : create as mobile account account non-boot volumes.
-d : disable external account creation.
-v : verbose output.

Examples:
	createmobileaccount -n jsmith
	createmobileaccount -v -P -n jsmith
	createmobileaccount -vsxn jsmith -h /Volumes/HD3/jhome

Notes:
	- createmobileaccount must run as root.
	- If you do not specify a password, the account's cached password will be created during the account's first log in.

为了确保我们将要使用的LDAP用户帐户,下面是LDAP目录详细信息;

ldapsearch -Y EXTERNAL -H ldapi:/// -b "ou=people,dc=ldapmaster,dc=kifarunix-demo,dc=com" uid=janedoe -LLL -Q
dn: uid=janedoe,ou=people,dc=ldapmaster,dc=kifarunix-demo,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
objectClass: extensibleObject
uid: janedoe
cn: jane
sn: Doe
loginShell: /bin/bash
uidNumber: 10010
gidNumber: 10010
shadowMax: 60
shadowMin: 1
shadowWarning: 7
shadowInactive: 7
shadowLastChange: 0
homeDirectory: /Users/janedoe
userPassword:: e1NTSEF9Rmpjb0VzRE8rRlFBcEp1UWNFclVhWGdmNFYyNGdxdkI=

因此,请为用户Jane Doe创建一个移动帐户(janedoe),请运行以下命令。 运行命令之前,请确保已连接到OpenLDAP。

/System/Library/CoreServices/ManagedClient.app/Contents/Resources/createmobileaccount -n jane -h /Users/janedoe/ -v
createmobileaccount built Aug  5 2016 16:20:50
verbose output on.
user name = "jane"
home path = "/Users/janedoe"
user password = "(null)"
prompt for password = FALSE
encrypt new home = FALSE
create as external account = TRUE

Mobile account record:
	dsAttrTypeStandard:RealName = "jane"
	dsAttrTypeStandard:RecordName = "janedoe"
	dsAttrTypeStandard:GeneratedUID = "7E48FE18-6EA0-4294-B6C2-3CF0F9DA5824"
	dsAttrTypeStandard:UniqueID = "10010"
	dsAttrTypeStandard:PrimaryGroupID = "10010"
	dsAttrTypeStandard:NFSHomeDirectory = "/Users/janedoe"
	dsAttrTypeStandard:OriginalNFSHomeDirectory = "/Users/janedoe"

请注意,该命令提取了OpenLDAP目录用户帐户详细信息。

如果您可以从“用户和组”首选项设置中进行检查,则已经创建了移动用户。

如果您注意到了,我们没有提供该帐户的任何密码。如果您未指定密码,则将在帐户首次登录期间创建该帐户的缓存密码。

因此,在系统仍连接到OpenLDAP目录时,注销系统并使用相同的LDAP帐户登录,以便缓存密码以使您可以在脱机时登录。

验证离线身份验证

现在,您可以禁用网络使系统脱机,以便您验证目录服务提供商不可达或脱机时是否可以进行身份​​验证。

在MacOS X上通过OpenLDAP配置脱机身份验证

接下来,退出系统。

在登录窗口上,选择您的移动LDAP帐户,然后输入该帐户的OpenLDAP凭据。

在MacOS X上通过OpenLDAP配置脱机身份验证

如果一切顺利,则应该放在桌面上。

在MacOS X上通过OpenLDAP配置脱机身份验证

然后你去。您已经通过脱机移动LDAP帐户成功通过了MacOS系统的身份验证。

这标志着我们指南的结尾,说明了如何在MacOS X上通过OpenLDAP配置脱机身份验证。

我们希望那是有益的。请享用。

Sidebar