Not logged in. · Lost password · Register
Forum: Non-English Discussion Russian discussion RSS
Dokuwiki. Доменная авторизация пользователей.
Avatar
hugeous #1
Member for a month · 2 posts
Group memberships: Members
Show profile · Link to this post
Subject: Dokuwiki. Доменная авторизация пользователей.
Добрый час господа форумчане.

Установили dokuwiki.
Сервер:
RHEL 7
#rpm -qa |grep http
httpd-tools-2.4.6-80.el7_5.1.x86_64
httpd-2.4.6-80.el7_5.1.x86_64

#rpm -qa |grep php
php56w-opcache-5.6.38-1.w7.x86_64
php56w-common-5.6.38-1.w7.x86_64
php56w-5.6.38-1.w7.x86_64
php56w-ldap-5.6.38-1.w7.x86_64
php56w-cli-5.6.38-1.w7.x86_64

Задача проста:
Разрешить пользователям вход используя доменные учетные данные.
Разрешить администраторам вход используя доменные учетные данные. (По всей видимости это должна быть группа)
В последствии нарезать необходимые права группам пользователей для выполнения различных задач по наполнению Wiki.

Что делалось:

Использован механизм плагина authad (Active Directory Auth Plugin | Andreas Gohr)
По нему мало информации в сети.
Вопросы следующие:

? Синтаксис php файла настроек
$conf['superuser'] = 'admin';
Указать группу AD нужно в каком формате.
Например группа: G_dokuwiki.admins

? Что значит параметр:
$conf['manager']   = 'юзер_или_группа';
Как указать группу AD

? Формат доменной учетки:
$conf['plugin']['authad']['admin_username'] = 'dokuwiki.admin'; #учетная запись DokuWiki в AD
$conf['plugin']['authad']['admin_password'] = 'тут_ясно_хеш_пароля';

? Нашел в сети еще такой параметр:
$conf['plugin']['authad']['ad_username'] = 'кто_это_должен_быть_и_с_какими_правами';

? Нужны ли пробелы между OU=name,[?]OU=nextname,[?]DC=mydomain,[?]DC=lan при указании подобного вида конструкций
$conf['plugin']['authad']['base_dn'] = 'DC=mydomain,DC=lan';

? И в каком формате нужно вводить логин доменного пользователя на страничке авторизации Dokuwiki
При соответствующей настройке:
 - $conf['plugin']['authad']['sso'] = 1;
 - $conf['plugin']['authad']['sso'] = 0;

Танцы с этим плагином закончились неудачей

При переключении авторизации с:
$conf['authtype'] = 'authplain';
На:
$conf['authtype'] = 'authad';
Dokuwiki начала говорить:

No ACL setup yet! Denying access to everyone.

Формат синтаксиса файла acl.auth.php остался не понятым, пытался в нем прописывать группу AD, с значениями 8, 16, но результат был неизменным.

Взялся за плагин authldap (LDAP Auth Plugin | Andreas Gohr)

Потратив пару дней на реализацю этой простой задачи, даже нет желания описывать подробности, но результат аналогичен настройкам предыдщего плагина:

При переключении авторизации с:
$conf['authtype'] = 'authplain';
На:
$conf['authtype'] = 'authldap';
Dokuwiki начала говорить:

No ACL setup yet! Denying access to everyone.

Вопрос в следующем:
Существует ли простой и работающий способ настройки доменной авторизации по группам с разными правами, при котором не нужно прописывать по одной строчке в нескольких файлах конфигов?
Avatar
Vadim #2
Member for a month · 2 posts
Group memberships: Members
Show profile · Link to this post
Добрый день. Проще настроить Authad через Настройки(Управление->Настройки вики), чем вручную в conf(local.php)

Настройки для примера:
account_suffix:  @mydomain.ru
base_dn: DC=mydomain,DC=ru
domain_controllers: dc.mydomain.ru, dc2.mydomain.ru
sso: 1
admin_username: доменная у\з
admin_password: пароль у\з
Также установите debug, для анализа.

Данных настроек должно быть достаточно для авторизации.
Avatar
hugeous #3
Member for a month · 2 posts
Group memberships: Members
Show profile · Link to this post
Quote by Vadim on 2018-10-25, 10:17:
Добрый день. Проще настроить Authad через Настройки(Управление->Настройки вики), чем вручную в conf(local.php)
.........
Данных настроек должно быть достаточно для авторизации.

Vadim, по сути это одно и то же. Впрочем как оказалось, необходимо прикрутить еще к Apache модуль авторизации с AD, дал маленькую штангу:
Установил модуль Python Legrandin-PyAuthenNTLM2-2b6053d, но это для апача <2.4, а установленный 2.4.6. В данном случае рекомендуют Kerberos.
Теперь задача - снести Legrandin-PyAuthenNTLM2-2b6053d, устанавливался он своим же скриптом
file listing of plugin dir:
drwxr-xr-x 3 17 Oct 25 02:15 build
-rwxr--r-- 1  657 Oct 25 02:14 Changelog
-rwxr--r-- 1  5919 Oct 25 02:14 http_client.py
-rwxr--r-- 1  537 Oct 25 02:14 LICENSE.txt
-rwxr--r-- 1  149 Oct 25 02:14 MANIFEST.in
drwxr-xr-x 2  148 Oct 25 02:14 PyAuthenNTLM2
-rwxr--r-- 1  18244 Oct 25 02:14 pyntlm.py
-rwxr--r-- 1  14386 Oct 25 02:14 README.rst
-rwxr--r-- 1  757 Oct 25 02:14 setup.py
-rwxr--r-- 1  9898 Oct 25 02:14 test.py
-rwxr--r-- 1  199 Oct 25 02:14 TODO

Деинсталлятора не вижу в списке файлов.
Содержимое инсталлятора:
#cat setup.py
from distutils.core import setup

setup(  name='PyAuthenNTLM2',
        description='PyAuthenNTLM2 is a pure Python module that enables Apache to carry out authentication via NTLM and an external Domain Controller or Active Directory server.',
        version="2.2",
        author='Legrandin',
        author_email='helderijs@gmail.com',
        url='https://github.com/Legrandin/PyAuthenNTLM2',
        license='Apache 2.0',
        py_modules=['pyntlm'],
        packages=['PyAuthenNTLM2'],
        classifiers=[
            'Development Status :: 4 - Beta',
            'Programming Language :: Python',
            'Intended Audience :: System Administrators',
            'Environment :: Plugins',
            'Framework :: mod-python',
        ],
)

И после анинсталла установить плагин для Kerberos аутентификации апача, может конечно, анинстал питоновского плагина не помешает установке Kerberos-а.
С Kerberos тоже пока еще не разобрался.

Как-то так.

Кстати:

Quote by Vadim on 2018-10-25, 10:17:
.......
Также установите debug, для анализа.
.......
Подскажите пожалуйста:
 - Где впоследствии читать debug?
This post was edited on 2018-10-26, 13:22 by hugeous.
Avatar
Vadim #4
Member for a month · 2 posts
Group memberships: Members
Show profile · Link to this post
По настройке на linux, к сожалению не подскажу, настраивал на IIS.
По поводу debug, dokuwiki выводит сверху информацию об ошибках подключения к AD.
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please enter the word from the image into the text field below. (Type the letters only, lower case is okay.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Go to forum
Imprint
This board is powered by the Unclassified NewsBoard software, 20150713-dev, © 2003-2015 by Yves Goergen
Current time: 2018-11-16, 21:55:33 (UTC +01:00)