Пользовательская аутентификация OS X
Мое требование
Мне нужно аутентифицировать пользователей при входе в систему с моей собственной логикой, например, например, для вызова внешнего сервера аутентификации и использования OpenDirectory в случае, если сервер недоступен.
Что я знаю
Я знаю, что мне нужно создать плагин авторизации, такой как образец Apple NullAuthPlugin, и добавить запись в authorizationdb на "system.login.console", чтобы вызвать мой плагин для достижения этой цели.
Что мне нужно
Могу ли я выполнить мое требование без замены графического интерфейса loginwindow, т.е. механизма <string>loginwindow:login</string>
?? т.е. могу ли я достичь этого, сохранив экран входа существующего компьютера Mac и получить учетные данные для выполнения моей собственной аутентификации? Если возможно, где я должен разместить свой механизм в system.login.console?
Моя идея
Я думаю о замене <string>builtin:authenticate,privileged</string>
с моим собственным плагином для достижения моих требований? Можно ли заменить механизм входа в систему с помощью buitin?
Мой подход правильный? Может кто-нибудь помочь мне уточнить по этому поводу?
0 ответов
Насколько я понял, вы можете создать плагин авторизации и поставить его после <string> loginwindow: login </ string>
.
Он не заменит аутентификацию macOS, но добавит слой, я не уверен, как он будет выглядеть, если вы удалите <string> builtin: authenticate, privileged </ string>
, но я думаю, что помню, что пробовал что-то в этом роде, и это вылетало.
В противном случае вы также можете написать модуль PAM, стек PAM просто вызывается на нем: <string> builtin: authenticate, privileged </ string>
Если вы добавите модуль с sufficient
контрольный флаг включен /etc/pam.d/authorization
файл он сделает свою работу.