Есть ли способ получить хэш пароля для указанного пользователя 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