Данный способ интеграции основан на запуске отдельного сервиса, который занимается маршрутизацией запросов от системы WNAM к внутренним компонентам или серверам доменам. При его использовании не потребуется ручная настройка nginx, samba или других инструментов. После установки работой с конфигурационными файлами занимается используемый сервис. Сервис написан на языке python3 и требует для своей работы ряда библиотек (преимущественно поддержки протокола LDAP). Его работа в режиме веб-сервиса обеспечивается инструментарием flask.
Warning |
---|
Можно настроить взаимодействие сервиса системы авторизации системы WNAM с доменом аналогично настройкам серверакак на самом сервере, на котором работает ПО WNAM (как , так и на любом другом соседнем Linux-сервере). |
Схема взаимодействия компонентов представлена на рисунке:
...
Info |
---|
Для сервера, не имеющего выхода в Интернет, существует вариант автоматической оффлайн-инсталляции, при котором все *.deb и python-пакеты устанавливаются из заранее подготовленного архива. Последующие обновления actool можно производить скриптом https://www.netams.com/files/wnam/misc/upgrade-adctool.sh |
Необходимо установить следующий набор пакетов:
...
mkdir -p /home/wnam/adctool/logs
tar zxvf adctool.tgz -C /home/wnam
chown -R wnam:wnam /home/wnam/adctoolcd /home/wnam/adctool
pip3 install -r requirements.txt
Задайть Задать права на нужные файлы:
cat > /etc/sudoers.d/wnam << SUDO
wnam ALL = NOPASSWD: /usr/bin/net
wnam ALL = NOPASSWD: /usr/bin/wbinfo
wnam ALL = NOPASSWD: /usr/bin/systemctl
SUDOchmod +x /home/wnam/adctool/*.pychmod a+s /usr/bin/wbinfochmod a+s /usr/bin/ntlm_authchown wnam /etc/samba/smb.conf
...
cat > /etc/systemd/system/adctool.service << EOF
[Unit]
Description="WNAM Active Directory tools service"
After=network.target[Service]
WorkingDirectory=/home/wnam/adctool
ExecStart=/usr/bin/flask run
Restart=on-failure
SuccessExitStatus=143
RestartSec=10
User=wnam
Group=wnam
StandardOutput=append:/home/wnam/adctool/logs/application.log
StandardError=append:/home/wnam/adctool/logs/console.log[Install]
WantedBy=multi-user.targetEOF
Отредактировать Создать, и отредактировать при необходимости конфигурационный файл /home/wnam/adctool/.flaskenv:
FLASK_APP=ad_tools.py
FLASK_RUN_HOST=0.0.0.0 # можно убрать по завершению тестов
FLASK_RUN_PORT=9080
FLASK_DEBUG=True # можно убрать по завершению тестов
Отредактировать конфигурационный Создать, и отредактировать при необходимости конфигурационный файл /home/wnam/adctool/config.json:
...