Назад | Перейти на главную страницу

Добавить пользователя в Active Directory, удаленно с веб-сервера macOS

У меня есть сервер Active Directory, работающий на Windows Server 2012 R2. У меня также есть веб-сервер, работающий на macOS El Capitan. Существует внешний AD-сервер, который я могу использовать (только) для запроса пользователя (он уже работает).

Я бы хотел, чтобы новые пользователи, существующие на внешнем AD-сервере, могли зарегистрироваться. Они должны пройти аутентификацию на внешнем AD-сервере, и, если они существуют, для них должна быть создана учетная запись на моем AD-сервере 2012 года. Они также добавят некоторую информацию при регистрации (адрес электронной почты, ...). Весь процесс должен выполняться через веб-сайт, который должен работать на веб-сервере macOS.

Я наткнулся на то, как создать новую учетную запись на сервере AD с веб-сервера macOS. Я рассмотрел несколько возможностей, все из которых либо имеют большой недостаток, либо я недостаточно знаю о реализации:

Мой вопрос: каков простой и безопасный метод удаленного добавления пользователей в Active Directory с сервера, отличного от Windows?

Новый улучшенный ответ!

Вот как бы я это сделал:

Существует порт openssh для Windows, и openssh позволяет вам указать команду, которая будет связана с ключом в файле authorized_keys. Читать этот и посмотрите раздел для authorized_keys file format и конкретно command="command" Напишите сценарий создания учетной записи и добавьте его в качестве "command". Обратите внимание на немного о "OPENSSH_ORIGINAL_COMMAND"

Самый важный момент, о котором следует помнить, это то, что Интернет попытается взломать эту вещь, поэтому убедитесь, что вы дезинфицируете, стерилизуете и, возможно, усыпляете входящие данные. Помните, что ваша проблема с ключом ssh без пароля заключается в том, что кто-то украдет ключ. Итак, когда вы пишете сценарий, предполагайте, что у каждого злоумышленника уже есть ключ. Эта же проблема касается независимо от используемой вами технологии (php, мыло, шампунь и т. Д.)

Надеюсь, это поможет!

Старый бесполезный ответ!

Я думаю, это можно сделать через LDAP. Я нашел ресурс C #, который включает создание пользователей, и делает это через LDAP. Теоретически вы можете сделать то же самое с openldap (ldapsearch и т. Д.) Или библиотекой LDAP на любом языке программирования по вашему выбору.

https://www.codeproject.com/Articles/18102/Howto-Almost-Everything-In-Active-Directory-via-C#34

Однако статье 10 лет, поэтому она может не сработать.

В настоящее время я использую LDAP в качестве интерфейса только для чтения к удаленному серверу AD, поэтому, по крайней мере, я знаю, что LDAP по-прежнему важен.

Надеюсь, это поможет! -Дилан