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

Как получить хэш пароля LDAP для пользователя MacOS Server?

Есть ли способ получить хэш пароля для указанного пользователя LDAP, если пользователь определен в Open Directory на сервере MacOS под управлением OSX Sierra и MacOS Server 5.2?

Мой вариант использования:

Я настраиваю узел CI / CD с использованием Jenkins в контейнере Docker, который будет работать на сервере, на котором работает MacOS Server. Я хочу, чтобы этот контейнер Jenkins был защищен и был защищен с помощью открытого каталога LDAP на сервере, то есть пользователю, желающему изменить конфигурацию Jenkins, необходимо использовать своего собственного сетевого пользователя / пароль для входа в Jenkins.

В рамках настройки мне нужно скопировать XML-файл (config.xml) в домашний каталог Jenkins, и этот файл должен содержать хешированный пароль пользователя, который защищает систему LDAP. Я думаю, что хэш пароля хранится в зашифрованном каталоге, и поэтому я хочу знать, как его получить.

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

Похоже, что ваш сервер также является мастером Open Directory (запускает slapd), в этом случае хэши хранятся в зашифрованном виде с помощью сервера паролей и на самом деле недоступны.

Если сервер также не является мастером OD, все будет проще, и можно начать копаться в узле по умолчанию с помощью dscl, поскольку упомянутый @ bourneN5years. Файлы для локального узла можно найти в / var / db / dslocal / nodes / Default

Это может быть чище, если вы можете заставить Дженкинса передавать информацию для входа в веб-приложение auth на сервере 5.2.

Он должен предоставлять аутентификацию в стиле http по адресу http: // локальный: 4444 / auth Вы можете запустить его прямо с:

sudo webappctl start com.apple.webapp.auth