Управління LDAP
Важливо
LDAP сервер і його користувачі ніяк не співвідносяться з локальними адміністраторами Ubilling.
У статті ніяк не описано налаштування самого LDAP. Тут мається на увазі: що сервер уже налаштований і має якусь структуру груп, заповнені dc та інше.
Так само не буде ніяких описів з налаштування radius авторизації на самому залізі.
Основний опис
Тестовий майданчик:
- ubuntu 16.04
- slapd із підтримкою MemberOf
- freeradius
Модуль призначений для управління користувачами на LDAP сервері.
Поточний функціонал:
- Створення\видалення користувачів
- Зміна паролів
- Призначення привілеїв, через приналежність до тих чи інших груп
- Створення та видалення груп впливає тільки на локальну БД і ніяк не впливає на наявність груп у самомуLDAP.
Встановлення:
- Усі потрібні файли лежать у docs/ldapmgr. Файли з розширенням ldif це шаблони
- Розпакувати всі файли в одну папку на LDAP-сервері. У моєму випадку це /opt/ldap_scripts
- Зробити chmod 777 /opt/ldap_scripts/*
- Виправити ldapmgr.ini і scripts.ini під свої реалії
- Зробити виклик users.php у crontab. В ідеалі запускати його раз на хвилину
- Вимагає ввімкненого LDAPMGR_ENABLED у alter.ini
Зв'язка з freeradius
Якщо ви хочете, щоб LDAP користувачі могли підключатися до вашого мережевого обладнання, то вибір не великий: radius або tacacs. Для себе я вибрав freeradius тому що більше з ним знайомий. Ось приклад, як можна обмежувати доступ до управління обладнання залежно від приналежності до групи. Усі імена груп лише приклад, ви можете використовувати будь-які зручні вам назви.
- Користувач повинен належати до групи radius інакше авторизація не пройде
- Користувач повинен належати до групи superadm або operators. Від цього залежить рівень прав.
/etc/freeradius# cat users DEFAULT Ldap-Group != 'radius', Auth-Type := Reject DEFAULT Ldap-Group == "superadm" Cisco-AVPair = "shell:priv-lvl=15", dlink-Privelege-Level = 5, Huawei-Exec-Privilege = 15, User-Service-Type = Shell-User DEFAULT Ldap-Group == "operators" Cisco-AVPair = "shell:priv-lvl=1", dlink-Privelege-Level = 3, Huawei-Exec-Privilege = 16, User-Service-Type = Shell-User
