0
我已經在已經使用FreeIPA進行用戶認證的系統上設置OpenLDAP服務器。目的是爲彈簧應用程序提供一種身份驗證方法。與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
運行此命令:
到目前爲止好,我們得到一個成功的消息:
dn: cn=Manager,dc=myldap,dc=local
changetype: modify
replace: userPassword
userPassword: {SSHA}KPxel+B7Ua6Q9PPaM7xdaGSDqK0A1234
當我:
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"
它是一個好主意,與此LDIF正常DIT更改密碼使用此命令應用此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服務 After = network。靶向 [服務] 類型=分叉 重啓=總是 RestartSec = 5S StandardOutput = syslog中 StandardError的系統日誌= ExecStart =/usr/sbin目錄/ slapd的-h 「LDAP:// LDAP_IP:9090」 用戶= LDAP [安裝] WantedBy = multi-user.target – Chris