ldap_modify: Другой (например, конкретная реализация) ошибка (80), <olcAccess> обработчик, из которого выходят с 1

Возможно, Вы могли использовать incron, который использует inotify для запуска команд на основе действия файловой системы. Вы могли затем возможно наблюдать точку монтирования и использовать incron для инициирования lsof для поиска, какой процесс получает доступ к нему.

7
задан 22 March 2013 в 23:49
4 ответа

Это связано с тем, что продолжение строки в файле ldif удаляет первый пробел, и атрибут считается следующим: {0} to * by dn.base = "gidNumber = 0 + uidNumber = 0, cn = peercred, cn = external, cn = auth "writeby * none (недопустимо)

Итак, поставьте дополнительный пробел перед продолжением строки:

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to *
  by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" write
  by * none
13
ответ дан 2 December 2019 в 23:23

Это обычно происходит, когда Вы копируете и вставляете от веб-страниц.

я разобрался в такой проблеме путем следования инструкциям, упомянутым @Mildred, и также я использовал :set ff=unix в Редакторе Vim для игнорирования любых неверных форматов

0
ответ дан 2 December 2019 в 23:23

Имейте в виду, что эта ошибка возникает, когда у вашего оператора olcAccess также есть другие проблемы с синтаксисом. Например, я использовал ключевое слово в одном из моих предложений 'by', которое ему не принадлежало, и вместо того, чтобы сказать мне «здесь нельзя использовать 'UID'» , оно продолжало говорить «slapd: line 0: ожидание доступа получило [мой DN] ». Ошибки для этой штуки тупые.

1
ответ дан 2 December 2019 в 23:23

Необходимо создать этот файл mod_acl.ldif со следующим содержимым, с точным форматом, очень хитроумно. И используйте следующую команду:

ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f mod_acl.ldif

Ожидаемый результат:

modifying entry "olcDatabase={1}mdb,cn=config"

Содержимое mod_acl.ldif

dn: olcDatabase={1}mdb,cn=config
replace: olcAccess
olcAccess: to attrs=userPassword,shadowLastChange,krbPrincipalKey
 by dn="cn=admin,dc=example,dc=com" write by anonymous auth by self write
 by * none
-
add: olcAccess
olcAccess: to dn.base=""
  by * read
-
add: olcAccess
olcAccess: to *
  by dn="cn=admin,dc=example,dc=com" write
  by * read

Будьте внимательны, тип базы данных Ldap может меняться в зависимости от вашей реализации может быть mdb, hdb или другим, зависящим от вашей установки.

.
0
ответ дан 2 December 2019 в 23:23

Теги

Похожие вопросы