ldapdd добавляет записи без userPasswords

У меня есть база данных LDAP, импортированная из этого LDIF:

dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: hdb
olcDbDirectory: /var/lib/ldap-jenkins
olcSuffix: dc=example,dc=com
olcRootDN: cn=admin,dc=example,dc=com
olcRootPW:: e1NTSEF9YmkzUDlFa1ZycDJMb2JDRDZoRmJmNkpLR2xhNWV2Q1doQzBOWmc9PQ==
olcDbIndex: uid eq
olcDbIndex: mail eq
olcDbIndex: entryCSN eq
olcDbIndex: entryUUID eq
olcDbIndex: objectClass eq
olcAccess: to attrs=userPassword,shadowLastChange
  by self write
  by dn="cn=admin,dc=example,dc=com" write
  by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" write
  by anonymous auth
  by * none
olcAccess: to *
  by self write
  by dn="cn=admin,dc=example,dc=com" write
  by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage
  by dn="cn=jenkins,dc=example,dc=com" read
  by * none

Я пытаюсь импортировать эту запись с помощью # ldapadd -c -Y EXTERNAL -H ldapi:/// -f darth_vader.ldif:

dn: [email protected],dc=example,dc=com
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: simpleSecurityObject
objectClass: person
cn: Anakin
sn: Skywalker
mail: [email protected]
userPassword: e1NTSEF9LzVHNXczbUViYnlJaE5CM0RBdGRjS3I3c1hYN085em90d3B3QWc9PQ==

Запись импортируется, но без userPassword. Что случилось?


person madhead    schedule 18.09.2017    source источник


Ответы (1)


Итак, проблема заключалась в том, как я подключаюсь к базе данных, а не в импорте. Я подключался с использованием пользователя jenkins, у которого нет доступа к атрибуту userPassword, указанному в ACL. Он просто не видит этот атрибут.

Что мне нужно сделать, это добавить некоторые разрешения для него:

olcAccess: to attrs=userPassword,shadowLastChange
  by self write
  by dn="cn=admin,dc=example,dc=com" write
  by dn="cn=jenkins,dc=example,dc=com" read
  by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" write
  by anonymous auth
  by * none

Чтения достаточно, но, возможно, сработает и более низкий уровень, например auth или compare.

person madhead    schedule 18.09.2017