LINUX.ORG.RU
ФорумAdmin

Взять пользователей на удаленном ldap и дать им доступ ко входу)

 , ,


1

1

Доброе...

Не соображу как правильно пока спросить)

Есть ldap (он на zimbra), так же все пользователи есть в отдельной БД. Хочу. на другом сервере создать всех пользователей из ldap'a. Что бы каждый мог подключиться и войти на удаленный сервер.

Как лучше сделать, взять пользователей из базы? Но там паролей нет.

Из ldap? А как к нему подключится с удаленной машины? Клиентом? Не могу понять какой ставить... И появится ли новый пользователь на сервере. если в лдапе добавится пользователей и на оборот, удалится ли он с сервера, если в лдапе он будет заблокирован или удален...?

Когда все на том же сервере, как то не много понятней. на пример ejabberd нормально понял лдап зимбры и пользователи нормально отображаются.

А как быть с удаленным сервером. да еще и чтобы пользователи создались и попали в обычную группу.

Подскажите пожалуйста)

ОСь- CentOS 6.6 (ldap) и CentOS 7 (remote server)

Спасибо.



Последнее исправление: firefedot (всего исправлений: 1)

Пробовал через openldap-clients

Вроде все данные схватил, а подключения нет...

firefedot
() автор топика

Войти через что? SSH, X11? Если это, то проще поставить на Centos 7 sssd и настроить его на взаимодействие с LDAP напрямую через сеть.

trancefer ★★
()

Из ldap? А как к нему подключится с удаленной машины? Клиентом? Не могу понять какой ставить...

Если вы хотите, чтобы на RHEL 7 сервере появились пользователи из LDAP, то нужно ставить sssd, добавлять в /etc/nsswitch.conf ″sss″, а в /etc/pam.d/system-auth добавлять ″pam_sss.so″. Про это подробно написано. Но основные настройки в /etc/sssd/sssd.conf — там настраивается к какому LDAP серверу и как подключаться.

Что там писать для зимбры я не знаю. Ещё нужно, чтобы в вашем LDAP хранились необходимы атрибуты пользователей (пароль, uid, shell), что, вроде как появляется при установке ″zimbra_posixaccount″.

И появится ли новый пользователь на сервере. если в лдапе добавится пользователей и на оборот, удалится ли он с сервера, если в лдапе он будет заблокирован или удален...?

Да, все системные утилиты (библиотеки) по работе с пользователями будут из-за nsswitch.conf и pam обращаться к LDAP.

mky ★★★★★
()
Ответ на: комментарий от mky

zimbra_posixaccount

Вот тут пора сделать пару шагов назад, и определиться - мы таки используем NSS, или zimbra + ldap? :-)

no-dashi ★★★★★
()
Ответ на: комментарий от mky

Пробовал sssd, но у меня не получилось получить пользователей, все висло ...

Сейчас попробую по новой исходя уже из общего понимая)

firefedot
() автор топика
Ответ на: комментарий от mky

Вот что делаю...

Данные лдап зибры

ldaps://192.168.1.6
Base DN: cn=admins,cn=zimbra
rootdn uid=zimbra,cn=admins,cn=zimbra (ну это у меня управляет учетками в ejabberd,  поидее он должен же помогать?)))

Вот что у меня в /etc/nsswitch.conf

passwd:     files sss ldap
shadow:     files sss ldap
group:      files sss ldap

hosts:      files dns

bootparams: nisplus [NOTFOUND=return] files

ethers:     files
netmasks:   files
networks:   files
protocols:  files
rpc:        files
services:   files sss

netgroup:   files sss ldap

publickey:  nisplus

automount:  files sss ldap
aliases:    files nisplus

Вот что внутри /etc/openldap/ldap.conf

URI ldap://192.168.1.6:369/
BASE cn=zim,cn=ld
#BASE cn=zim,cn=ld 
TLS_CACERTDIR /etc/openldap/cacerts

# Turning this off breaks GSSAPI used with krb5 when rdns = false
SASL_NOCANON<-->on
Вот тут не пойму надо вводить корень откуда искать пользователей или как бы админа ( uid=zimbra,cn=admins,cn=zimbra)?

А вот содержимое /etc/sssd/sssd.conf

[sssd]
config_file_version = 2
reconnection_retries = 3
sbus_timeout = 30
services = nss, pam, autofs
domains = default, LOCAL, LDAP
[nss]
filter_groups = root
filter_users = root
reconnection_retries = 3
[pam]
reconnection_retries = 3
[domain/default]
ldap_id_use_start_tls = False
cache_credentials = True
ldap_search_base = cn=zim,cn=ld
#krb5_realm = #
chpass_provider = ldap
id_provider = ldap
auth_provider = ldap
debug_level = 0
ldap_uri = ldap://192.168.1.6:369/
#krb5_kdcip = kerberos.example.com
ldap_tls_cacertdir = /etc/openldap/cacerts
autofs_provider = ldap
krb5_realm = #
[autofs]
Что такое krb5_kdcip и krb5_realm? не нашел описания. поял. что это что-то типа аналога или замены пароля с лдапа (хз в общем), пробовал и комментировать и заменять на свои данные ()взятые из головы)))

а вот внутренности /etc/pam.d/system-auth

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
auth        sufficient    pam_ldap.so use_first_pass
auth        required      pam_deny.so

account     required      pam_unix.so broken_shadow
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 1000 quiet
account     [default=bad success=ok user_unknown=ignore] pam_ldap.so
account     required      pam_permit.so

password    requisite     pam_cracklib.so pam_pwquality.so try_first_pass local_users_only retry=3 aauthtok_type=
password    sufficient    pam_unix.so md5 shadow nullok try_first_pass use_authtok
password    sufficient    pam_ldap.so use_authtok
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
-session     optional      pam_systemd.so
session     optional      pam_oddjob_mkhomedir.so umask=0077
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so
session     optional      pam_ldap.so

Затем выполняю команду. чтобы обновить данные (ведь это она же?))

 authconfig --enableldap --enableldapauth --ldapserver=192.168.1.6:369 --ldapbasedn="cn=zim,cn=ld" --update

Затем перезапускаю service sssd restart

После, пробую id user_ldap и получаю. что нет такого пользователя)

Вот, что мне поправить или не поправить) кроме меня)

Спасибо.

firefedot
() автор топика
Ответ на: комментарий от firefedot

аааа. жесть какая.

тут даже не знаешь с чего начать.

а всё потому, что начинать надо не нам, а тебе. а то пока ты «не нашел описания krb*» тебе не помочь. хоть кербероса твоём сетапе вроде и нет.

anonymous
()
Ответ на: комментарий от anonymous

при копировании это он знак табуляции так вставил сюда, не поправил...

в голове много его. и каша и нет .. но хочу разобраться...

firefedot
() автор топика
Ответ на: комментарий от firefedot

Facepalm

Так как у вас идет подключение к LDAP? Если LDAPS - тогда в /etc/openldap/ldap.conf нужно указать только путь к корневому сертификату (лучше через TLS_CACERT). Все остатьное здесь _лишнее_

Если это LDAP + StartTLS тогда сертификаты прописываются в sssd.conf Если это голый LDAP то никаких сертификатов прописывать нигде не нужно.

authconfig --enableldap --enableldapauth --ldapserver=192.168.1.6:369 --ldapbasedn="cn=zim,cn=ld" --update

Нет нет и еще раз нет!

authconfig --updateall --enablesssd --enablesssdauth

Руками nsswitch.conf и pam трогать не надо - все сделает authconfig.

trancefer ★★
()
Ответ на: Facepalm от trancefer

Если это LDAP + StartTLS тогда сертификаты прописываются в sssd.conf

ЩИТО?

от смены SSL на in-band TLS СЕРВЕРНЫЙ сертификат теперь конфигурируется на КЛИЕНТЕ? крутой у тя упорин.

пошто ты ТС так не любишь, у него и так опилки в голове.

anonymous
()
Ответ на: комментарий от anonymous

Ни щито, и там и там имеется ввиду указание корневого сертификата.

trancefer ★★
()
Ответ на: комментарий от firefedot

Что такое krb5_kdcip и krb5_realm?

Это центр ключей и область (домен) в церберосе. У вас, я друмаю, его нет. Параметры должны быть описаны в ″man sssd-krb5″, но они вам не нужны. Для общего развития можете просто почитать википедию или что ещё про Kerberos.

rootdn uid=zimbra,cn=admins,cn=zimbra

У вас что, jabberd подключается из под пользователя zimbra, отдельного пользователя для него для просмотра ldap вы не заводили?

Наверное, имеет смысл установить ″ldapsearch″ на RHEL 7, добится чтобы он мог подключаться к зимбре и посмотреть, то ли он даёт при ″-b ou=people,dc=вашдомен,dc=ru″. Ну и тогда эти параметры уже записывать в sssd.conf.

mky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.