Я настраивал сервер OpenLDAP на систему, которая уже использует FreeIPA для аутентификации пользователей. Целью является предоставление метода аутентификации для весеннего приложения.Fun with OpenLDAP
Я заметил некоторые странные вещи при запуске команд ldapadd и ldapmodify. Я думал, что это может быть связано с неправильным паролем, поэтому я попытался обновить olcRootPW.
Я думал, что это может быть хорошей идеей, чтобы найти учетную запись RootDN и текущий RootDN хэш пароля:
sudo ldapsearch -H ldapi:// -LLL -Q -Y EXTERNAL -b "cn=config" "(olcRootDN=*)" dn olcRootDN olcRootPW
Это возвращенное:
dn: olcDatabase={2}hdb,cn=config
olcRootDN: cn=Manager,dc=myldap,dc=local
olcRootPW: {SSHA}6amwprJqmgudYDYPbJaO3BgeAp6898
до сих пор так хорошо, так что давайте обновления в пароль с файлом Ldif - newpass.ldif:
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: {SSHA}KPxel+B7Ua6Q9PPaM7xdaGSDqK0A1234
Выполнить эту команду:
sudo ldapmodify -H ldapi:// -Y EXTERNAL -f ~/newpass.ldif
До сих пор так хорошо, мы получаем сообщение об успехе:
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "olcDatabase={2}hdb,cn=config"
его хорошая идея, чтобы изменить пароль в обычном DIT с этим LDIF:
dn: cn=Manager,dc=myldap,dc=local
changetype: modify
replace: userPassword
userPassword: {SSHA}KPxel+B7Ua6Q9PPaM7xdaGSDqK0A1234
Когда я примените этот ldif с помощью этой команды:
sudo ldapmodify -a -v -H ldap:/// -x -D "cn=Manager,dc=myldap,dc=local" -W -f ~/newpasswd.ldif
Я получаю следующая ошибка:
ldap_initialize(ldap://:389/??base)
Enter LDAP Password:
replace userPassword:
{SSHA}KPxel+B7Ua6Q9PPaM7xdaGSDqK0A1234
modifying entry "cn=Manager,dc=myldap,dc=local"
ldap_modify: No such object (32)
Я видел это много при использовании «-D» переключатель, и я не могу понять, что происходит?
Я видел то же самое при добавлении этого LDIF:
dn: dc=myldap,dc=local
objectClass: top
objectClass: dcObject
objectclass: organization
o: myldap.local
dc: myldap
dn: cn=Manager,dc=myldap,dc=local
objectClass: organizationalRole
cn: Manager
description: Directory Manager
dn: ou=People,dc=myldap,dc=local
objectClass: organizationalUnit
ou: People
dn: ou=Group,dc=myldap,dc=local
objectClass: organizationalUnit
ou: Group
Запуск этой команды дают ошибку:
sudo ldapadd -x -D cn=Manager,dc=myldap,dc=local -W -f baseldapdomain.ldif
Enter LDAP Password:
ldap_bind: No such object (32)
Любые идеи?
Извлечение /// хостов из файла службы разрешает работать только с настраиваемой конфигурацией порта: [Unit] Описание = Пользовательская служба openLDAP После = network.целевой [Service] Type = разветвление Restart = всегда RestartSec = 5s StandardOutput = системный журнал StandardError = системного журнала ExecStart =/USR/SBIN/Slapd -h "LDAP: // LDAP_IP: 9090" пользователя = LDAP [Установить] WantedBy = multi-user.target – Chris