0

我的要求
我需要在登录时使用我自己的逻辑对用户进行身份验证,例如:调用外部身份验证服务器并使用 OpenDirectory 以防服务器无法访问。

我知道
我知道我需要创建一个授权插件,如苹果的示例NullAuthPlugin并在“system.login.console”的授权数据库中添加一个条目来调用我的插件来实现这一点。

我需要什么我可以在不更换登录窗口 GUI 即机制的情况下
实现我的要求吗?即,我可以通过保持现有mac的登录屏幕来实现这一点并获取凭据来执行我自己的身份验证吗?如果可能的话,我应该将我的机制放在“system.login.console”的哪里? <string>loginwindow:login</string>

我的想法
是我想<string>builtin:authenticate,privileged</string>用我自己的插件替换来实现我的要求?更换buitin登录机制可以吗?

我的方法正确吗?谁能帮我澄清一下?

4

1 回答 1

0

据我了解,您可以创建一个授权插件并将其放在<string> loginwindow: login </ string>.

它不会取代 macOS 身份验证,但它会添加一个层,我不确定如果你删除它会是什么样子<string> builtin: authenticate, privileged </ string>,但我想我记得我尝试过类似的事情并且它崩溃了。

否则,您也可以编写 PAM 模块,只需在其上调用 PAM 堆栈:<string> builtin: authenticate, privileged </ string> 如果您在文件中添加带有sufficient控制标志的模块,/etc/pam.d/authorization它将完成这项工作。

于 2019-12-05T11:26:42.113 回答