ldapmodify это интерфейс к библиотечному вызову ldap_modify(3), доступный из командной строки.
ldapadd является жёсткой ссылкой на ldapmodify. При вызове по имени ldapadd (добавить запись) флаг
-a
включается автоматически.
ldapmodify соединяется с LDAP-сервером, привязывается к нему и модифицирует или добавляет записи. Информация о записях берётся из стандартного потока
(или файла, если используется ключ
-f
).
Опции
-a
Добавить новые записи. По умолчанию ldapmodify изменяет существующие записи. Если программу вызывать как ldapadd,
флаг добавляется автоматически. .TP
-c
Режим непрерывного исполнения. Ошибки выводятся, но ldapmodrdn продолжает модификацию. По умолчанию, ldapmodrdn
завершается при первой ошибке. .TP
-S file
Добавить или отредактировать записи, которые были пропущены из-за ошибок. Может быть полезным в сочетании с .RS
-c
-n
Показать что должно быть сделано, но не выполнять поиск на самом деле. Может быть полезно в сочетании с опцией .RS
-v
для отладки.
-v
Запустить в разговорчивом (verbose) режиме; диагностические сообщения должны выводиться на стандартный поток вывода.
-F
Заставляет приложение делать изменения в базе данных независимо от того, что находится в строках, начинающихся словом
replica:
(по умолчанию, строки
replica:
проверяются на соответствие хосту и порту сервера, для того чтобы определить, должна ли запись replog-файла применяться
или пропускаться). .TP
-M[M]
Включить контроль DSA IT. -MM делает контроль критичным.
-d debuglevel
Установить уровень отладки LDAP равным debuglevel. Программа ldapsearch должна быть откомпилирована с опцией
LDAP_DEBUG
, иначе эта опция не будет иметь эффекта.
-f file
Считать множество DN из файла, по одному на строку; выполнять удаление для каждой записи.
-x
Использовать простую аутентификацию вместо SASL.
-D binddn
Привязаться к каталогу от имени binddn.
-W
Спросить пароль в командной строке в ходе простой аутентификации.
-w passwd
Использовать passwd как пароль в ходе простой аутентификации.
-y passwdfile
Взять всю необходимую для простой аутентификации информацию из файла passwdfile.
-H ldapuri
Указать URI LDAP-сервера; допускаются только поля протокол/хост/порт; в качестве аргумента ожидается список URI,
разделённых пробелами или запятыми. .TP
-h ldaphost
Указать хост, на котором работает LDAP-сервер. Не рекомендуется использовать. Используйте вместо этого .RS
-H
-p ldapport
Указать TCP-порт, на котором работает LDAP-сервер. Не рекомендуется использовать. Используйте вместо этого .RS
-H
-P 2|3
Указать, какую версию протокола LDAP использовать.
-O security-properties
Задать параметры безопасности SASL.
-I
Включить интерактивный режим SASL. Всегда спрашивать. По умолчанию: спрашивать только при необходимости. .TP
-Q
Включить молчаливый (quiet) режим SASL. Никогда не спрашивать.
-U authcid
Задать аутентификационный ID для SASL. Форма ID зависит от того, какой механизм аутентификации в действительности используется.
-R realm
Задать realm аутентификационного ID для SASL. Форма realm зависит от того, какой механизм аутентификации в действительности
используется. .TP
-X authzid
Задать запрашиваемые авторизационный ID для SASL. authzid может быть в одной из форм: dn:<distinguished name> или u:<username>
-Y mech
Указать какой SASL-механизм использовать для аутентификации. Если не указан, программа выберет лучший механизм из
тех, что знает сервер. .TP
-Z[Z]
Расширенный режим StartTLS (Transport Layer Security). Если задать -ZZ, тогда операция обязательно должна быть успешной.
Входной формат
Содержимое файла (или стандартного потока ввода, если ключ
-f
не используется) должно соответствовать требованиям, описанным в ldif (LDIF по описанию RFC 2849) или slapd.replog (расширенный
формат LDIF) за исключениями, описанным ниже.
Строки, начинающиеся с "
replica:
" проверяются на соответствие имени хоста и порта LDAP-сервера, для того чтобы решить, должна
ли применяться конкретная replog-запись или нет.
Все остальные строки, которые встречаются раньше строк
dn:
, игнорируются.
Флаг
-F
используется для того чтобы указать ldapmodify, что он должен применять все изменения, независимо от наличия или
отсутствия строк
Обратите внимание, что перечисленные исключения для формата slapd.replog
дают возможность использовать записи ldif как входные данные для ldapmodify и ldapadd.
Примеры
Если предположить, то что файл
/tmp/entrymods
существует и имеет следующее содержимое:
dn: cn=Modify Me,dc=example,dc=com
changetype: modify
replace: mail
mail: modme@example.com
-
add: title
title: Grand Poobah
-
add: jpegPhoto
jpegPhoto:< file:///tmp/modme.jpeg
-
delete: description
-
записи "Modify Me", а также добавит в эту запись поле
title
со значением
Grand Poobah
, содержимое файла
/tmp/modme.jpeg
в качестве поля
jpegPhto
и удалит атрибут
description
Если предположить, то что файл
/tmp/newentry
существует и имеет следующее содержимое:
dn: cn=Barbara Jensen,dc=example,dc=com
objectClass: person
cn: Barbara Jensen
cn: Babs Jensen
sn: Jensen
title: the world's most famous mythical manager
mail: bjensen@example.com
uid: bjensen
команда:
ldapadd -f /tmp/newentry
добавит новую запись для Babs Jensen, данные будут взяты из файла
Код завершения равен 0, если ошибок не было. Если ошибки были, код завершения отличен от 0 и на стандартный поток ошибок отправляются
диагностические сообщения.
OpenLDAP разрабатывается и сопровождается в рамках проекта The OpenLDAP Project (http://www.openldap.org/). OpenLDAP
базируется на University of Michigan LDAP 3.3 Release.