Рейтинг:0

openldap, почему я не могу идентифицировать учетную запись пользователя?

флаг cf

Я следовал этому руководству openldap

https://kifarunix.com/install-and-setup-openldap-on-rocky-linux-8/

У меня все работает, пока я не попытаюсь идентифицировать пользователя на клиенте (следуя этому руководству: https://kifarunix.com/configure-sssd-for-ldap-authentication-on-rocky-linux-8/)

Я получаю сообщение о том, что «нет такого пользователя»

В руководстве по openldap перечислены объектные классы для пользователей.ldif

DN: uid=johndoe,ou=people,dc=ldapmaster,dc=kifarunix-demo,dc=com
класс объекта: инетОргперсон
класс объекта: posixAccount
класс объекта: shadowAccount

и я заметил, что другие сайты используют

класс объекта: учетная запись

(видеть: https://www.thegeekstuff.com/2015/02/openldap-add-users-groups/ & https://forums.centos.org/viewtopic.php?t=54808)

Я пробовал оба способа (и даже пытался включить оба)

Я могу выполнить ldapsearch от клиента к серверу и запросить любой из этих объектных классов.

Я не уверен, что мне не хватает.

Я проверил свой nsswitch.conf и убедился, что sss был перед файлами для passwd

флаг de
Убедитесь, что пользователю разрешен доступ в */etc/security/access.conf*.
Рейтинг:0
флаг cf

Я провел базовое тестирование и отключил TLS.

Моя проблема, вероятно, была в SSSD.conf и не имела правильного объектного класса, а также не соответствовала DN, CN и OU.

Сервер

#https://www.server-world.info/en/note?os=CentOS_7&p=openldap
yum -y установить серверы openldap openldap-clients firewalld mlocate man --nobest
обновленоb
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG 
чаун лдап. /var/lib/ldap/DB_CONFIG 
systemctl запустить slapd 
systemctl включить slapd
кошка <<EOF > chrootpw.ldif 
# указываем сгенерированный выше пароль для раздела "olcRootPW"
DN: olcDatabase={0}config,cn=config
тип изменения: изменить
добавить: olcRootPW
олкрутпарв: 1234
EOF
ldapadd -Y ВНЕШНИЙ -H ldapi:/// -f chrootpw.ldif 
ldapadd -Y ВНЕШНИЙ -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
ldapadd -Y ВНЕШНИЙ -H ldapi:/// -f /etc/openldap/schema/nis.ldif
ldapadd -Y ВНЕШНИЙ -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
кошка <<EOF > chdomain.ldif
DN: olcDatabase={1}монитор,cn=config
тип изменения: изменить
заменить: olcAccess
olcAccess: {0}к * по dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth"
  прочитано dn.base="cn=Manager,dc=srv,dc=world" прочитано * нет

DN: olcDatabase={2}mdb,cn=config
тип изменения: изменить
заменить: olcSuffix
olcSuffix: dc=srv,dc=мир

DN: olcDatabase={2}mdb,cn=config
тип изменения: изменить
заменить: olcRootDN
olcRootDN: cn=менеджер,dc=srv,dc=мир

DN: olcDatabase={2}mdb,cn=config
тип изменения: изменить
добавить: olcRootPW
олкрутпарв: 1234

DN: olcDatabase={2}mdb,cn=config
тип изменения: изменить
добавить: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange by
  dn="cn=Manager,dc=srv,dc=world" написать анонимно авторизоваться самостоятельно написать * none
olcAccess: {1}к dn.base="" по * read
olcAccess: {2}в * от dn="cn=Manager,dc=srv,dc=world" запись от * чтение
EOF
ldapmodify -Y ВНЕШНИЙ -H ldapi:/// -f chdomain.ldif
cat <<EOF > на основедомена.ldif
# замените на свое доменное имя для раздела "dc=***,dc=***"

DN: dc=srv,dc=мир
класс объекта: верхний
объектный класс: dcObject
класс объекта: организация
о: мир серверов
постоянный ток: срв

DN: cn=менеджер,dc=srv,dc=мир
objectClass: организационная роль
Сп: менеджер
описание: Диспетчер каталогов

DN: ou=Пользователи,dc=srv,dc=мир
objectClass: организационная единица
класс объекта: верхний
или: Пользователи

DN: ou=группы,dc=srv,dc=мир
objectClass: организационная единица
класс объекта: верхний
или: Группы

EOF
ldapadd -x -w 1234 -D cn=менеджер,dc=srv,dc=мир -f на основедомена.ldif
systemctl запустить firewalld
systemctl включить firewalld
firewall-cmd --add-service=ldap --постоянный 
брандмауэр-cmd --перезагрузить

кошка <<EOF > adam.ldif
DN: uid=adam,ou=Users,dc=srv,dc=world
класс объекта: верхний
класс объекта: учетная запись
класс объекта: posixAccount
класс объекта: shadowAccount
Сп: Адам
ИД: Адам
uidNumber: 16859
номер_гида: 100
homeDirectory: /home/adam
логинShell: /bin/bash
gecos: Адам
Пароль пользователя: 1234
теньластчанже: 0
теньМакс.: 0
теньПредупреждение: 0
EOF
ldapadd -x -w 1234 -D "cn=Manager,dc=srv,dc=world" -f adam.ldif
ldappasswd -s 1234 -w 1234 -D "cn=Manager,dc=srv,dc=world" -x "uid=adam,ou=Users,dc=srv,dc=world"

SSSD.conf [клиент]

кот <<EOF > /etc/sssd/sssd.conf
[СССД]
сервисы = nss, pam, sudo
config_file_version = 2
домены = по умолчанию

[судо]

[нсс]

[пэм]
offline_credentials_expiration = 60

[домен/по умолчанию]
ldap_id_use_start_tls = Ложь
cache_credentials = Истина
ldap_search_base = dc=srv,dc=мир
id_provider = лдап
auth_provider = ldap
chpass_provider = ldap
провайдер_доступа = ldap
sudo_provider = ldap
ldap_uri = ldap://ldapmaster
ldap_default_bind_dn = cn=менеджер,dc=srv,dc=мир
#ldap_default_authtok_type = пароль
ldap_default_authtok = 1234
#ldap_user_search_base = CN=Пользователи,DC=srv,DC=мир
#ldap_tls_reqcert = спрос
#ldap_tls_cacert = /etc/pki/tls/cacert.crt
#ldap_tls_cacertdir = /etc/pki/tls
ldap_search_timeout = 50
ldap_network_timeout = 60
#ldap_sudo_search_base = ou=SUDOers,dc=ldapmaster,dc=ldapmaster,dc=com
ldap_access_order = фильтр
ldap_access_filter = (objectClass=posixAccount)
EOF

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.