Я пытаюсь добавить пользователя к существующему и работающему серверу openldap. Сервер был настроен кем-то другим (с которым трудно связаться ...) и активно используется. Теперь я хотел бы добавить нового пользователя, но застрял с недостаточным доступом.
Команда, которую я пробовал для добавления пользователя, следующая:
ldapadd -H ldap://servername -D "cn=admin,ou=..." -W -f ldap-userfile
Я получаю ответ
adding new entry "cn=username,ou=..."
ldap_add: Insufficient access (50)
additional info: no write access to parent
Информация для использования в приведенном выше команда, которую я получил от
ldapsearch -x -LLL uid=*
, и это была единственная команда с admin
в имени.
Примечание: я являюсь root на сервере, где установлен ldap, поэтому я могу делать практически все, что угодно. Единственное, чего мне следует избегать, это постоянно менять любые пароли, так как другие тоже должны выполнять некоторые задачи.
Я просмотрел / etc / openldap, но безрезультатно. Я понятия не имею о openldap, поэтому мне это не помогает. В разделе / etc / openldap / certs / password
я могу найти пароль, но я не знаю, что с ним использовать.
Если это помогает: сервер работает под управлением CentOS 6.10, версия openldap - 2.4.40.
РЕДАКТИРОВАТЬ: РЕШЕНО См. Мой собственный ответ ниже.
Создать файл LDIF для нового пользователя Ниже приведен пример файла LDIF, который будет использоваться для создания нового пользователя.
dn: uid = adam, ou = users, dc = tgs, dc = com objectClass: сверху objectClass: аккаунт objectClass: posixAccount objectClass: shadowAccount сп: адам uid: адам uidNumber: 16859 gidNumber: 100 homeDirectory: / home / adam loginShell: / bin / bash gecos: адам userPassword: {crypt} x shadowLastChange: 0 shadowMax: 0 shadowWarning: 0
Теперь,используйте команду ldapadd и указанный выше файл ldif для создания нового пользователя с именем adam в нашем каталоге OpenLDAP, как показано ниже:
Введите пароль LDAP: добавление новой записи «uid = adam, ou = users, dc = tgs, dc = com»
Хорошо, я решил эту проблему, используя этот ответ .
Подводя итог: Я узнал, какой идентификатор использовать с
ldapsearch -Y EXTERNAL -Q -H ldapi:/// -LLL -o ldif-wrap=no -b cn=config '(objectClass=olcDatabaseConfig)' olcAccess
, а затем запустил
ldapadd -H ldapi://servername -D "cn=Manager,..." -W -f ldapfile