Ошибка ldapmodify - Сервер не желает выполнять ( 53) дополнительная информация: нет глобальных высших знаний

Ладно, ребята, я весь день бился головой об стену над этим, и у меня ничего не получилось. Я пытаюсь запустить ldapmodify против OpenLDAP в скрипте, чтобы обновить пару атрибутов для ряда хостов. Независимо от того, что я делаю, я получаю: «Сервер не желает выполнять ... никаких глобальных превосходных знаний».

Вот мой код со вставленными фиктивными значениями. Кто-нибудь может увидеть, что я делаю не так?

for sys in <system names>; do
  ldapmodify -x -c -h localhost -D uid=name,dc=example,dc=com -w ${password} <<EOF
    dn: hostname=${sys},ou=computers,location=code,dc=example,dc=com
    changetype: modify
    replace: ip
    ip: new.host.ip.address
    -
    replace: printer
    printer: new.printer.ip.address
EOF
done

DN полностью соответствует DN, предоставленному ldapsearch, поэтому я не понимаю, в чем может быть проблема. Как я уже сказал, я просто не вижу проблемы, поэтому приветствуются любые предложения.

Кроме того, суффикс в slapd.conf - dc = example, dc = com.

0
задан 6 January 2016 в 18:44
1 ответ

Удивительно, как мелочи могут так сильно вас укусить. Поскольку это было в сценарии, я сделал отступ в разделе команд, чтобы соблюсти соглашения о кодировании. Видимо, ldapmodify интерпретировал пробел как часть команд / данных и запутался. Я переформатировал его, чтобы он выглядел так, и теперь он работает:

for sys in <system names>; do
  ldapmodify -x -c -h localhost -D uid=name,dc=example,dc=com -w ${password} <<EOF
dn: hostname=${sys},ou=computers,location=code,dc=example,dc=com
changetype: modify
replace: ip
ip: new.host.ip.address
-
replace: printer
printer: new.printer.ip.address
EOF
done
1
ответ дан 4 December 2019 в 16:44

Теги

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