slapd - автономный демон LDAP
[ -4|-6] [ -T {acl | a[dd] | auth | c[at] | d[n] | i[ndex] | p[asswd] | s[chema] | t[est]}] [ -d debug-level] [ -f slapd-config-file] [ -F slapd-config-directory] [ -h URLs] [ -n service-name] [ -s syslog-level] [ -l syslog-local-user] [ -o option[=value]] [ -r directory] [ -u user] [ -g group] [ -c cookie]
slapd - автономный демон LDAP. Он ожидает подсоединений LDAP на портах с любым номером (по умолчанию 389), выдавая ответ на операции LDAP, получаемые им по этим соединениям. Обычно slapd вызывается во время загрузки, как правило из /etc/rc.local. После запуска slapd обычно производит ответвление и отсоединяется от терминала, из которого был запущен. Если это настроено в конфигурационном файле (или конфигурационной директории), процесс slapd выведет свой идентификатор (смотрите getpid(2)) в файл .pid, а также указываемые при вызове параметры командной строки в файл .args (смотрите slapd.conf(5)). Если при вызове был указан флаг -d, даже со значением 0 (ноль), slapd не будет производить ответвления и отсоединяться от терминала, из которого запущен.
Дополнительные детали по slapd смотрите в "Руководстве администратора OpenLDAP".
Ожидать соединений только на адресах IPv4.
Ожидать соединений только на адресах IPv6.
Запуск в режиме инструмента (утилиты). Значение tool определяет, в качестве какой утилиты будет произведён запуск: slapadd, slapcat, slapdn, slapindex, slappasswd, slapschema или slaptest (slapacl и slapauth требуют указания значения параметра в виде acl и auth, поскольку значение a зарезервировано для slapadd). Если этот параметр используется, он должен быть указан первым; все остальные параметры будут интерпретироваться соответствующей slap-утилитой, как описано в её man-странице. Отметим, что эти программы-утилиты, как правило, представляют собой символические ссылки на slapd. Данный параметр предназначен для ситуаций, когда символические ссылки не поддерживаются или их невозможно использовать.
Устанавливает уровень отладки в указанный debug-level. Если указан этот параметр, даже cо значением 0 (ноль), slapd не будет производить ответвления или отсоединяться от терминала, из которого запущен. Некоторые общие операции и сообщения о состоянии выводятся при любом значении debug-level. debug-level воспринимается как строка битов, где каждый бит соответствует отладочной информации различного рода. Подробнее смотрите в <ldap_log.h>. В качестве значения этого параметра может быть указан разделённый запятыми массив читабельных имён уровней отладки, позволяющий определить вывод соответствующей отладочной информации. Поддерживаются все имена, распознаваемые директивой loglevel, описанной в slapd.conf(5). Если в качестве debug-level указан ?, выводится список установленных уровней отладки и slapd завершает работу.
Помните, что при включении уровня журналирования packets будут выводиться пакеты, содержащие пароли подсоединения, так что если журнал перенаправляется в файл, то этот файл должен быть защищён от прочтения.
Данный параметр сообщает slapd, какого уровня отладочные сообщения следует журналировать средствами syslog(8). В качестве syslog-level может быть установлено любое значение или комбинация значений, допустимая в параметре -d. slapd отправляет на регистрацию все сообщения выбранного уровня syslog-level с уровнем важности syslog(3) DEBUG в канал, определённый параметром -l.
Определяет имя службы для журналирования и других целей. По умолчанию соответствует базовому имени в argv[0], то есть "slapd".
Определяет пользовательский канал для syslog(8). Значение может быть от LOCAL0, до LOCAL7, а также USER и DAEMON. По умолчанию - LOCAL4. Однако, этот параметр разрешено применять только в системах, поддерживающих пользовательские каналы в syslog(8). Журналирование в syslog(8) происходит с уровнем важности "DEBUG".
Определяет конфигурационный файл slapd. По умолчанию /usr/local/etc/openldap/slapd.conf.
Определяет конфигурационную директорию slapd. По умолчанию /usr/local/etc/openldap/slapd.d. Если указаны сразу и -f и -F, конфигурационный файл будет прочтён, переконвертирован в формат конфигурационной директории и записан в указанную директорию. Если не указан ни один из этих параметров, slapd попытается прочитать конфигурационную директорию по умолчанию, а затем использовать конфигурационный файл по умолчанию. Если существует конфигурационная директория в правильном формате, то конфигурационный файл игнорируется. Такое поведение соблюдается всеми slap-утилитами, использующими эти параметры командной строки.
slapd по умолчанию будет обслуживать ldap:/// (LDAP по TCP на всех интерфейсах на порту LDAP по умолчанию). То есть, будет обслуживать подсоединения на INADDR_ANY и порту 389. Параметр -h может использоваться, чтобы указать список LDAP URL (и URL с другими схемами), который требуется обслуживать. Например, если slapd передано -h "ldap://127.0.0.1:9009/ ldaps:/// ldapi:///", он будет ожидать соединения LDAP на 127.0.0.1:9009, LDAP поверх TLS на 0.0.0.0:636, а также LDAP поверх IPC (доменные сокеты Unix). Адрес хоста 0.0.0.0 представляет собой INADDR_ANY (любой интерфейс). В качестве значения параметра ожидается разделённый пробельными символами список URL. Схемы URL должны быть LDAP, LDAPS или LDAPI, поддержка последних двух схем зависит от параметров конфигурации. В общем случае URL не должны содержать DN или других дополнительных параметров (за исключением обсуждаемых ниже). Хосты могут быть указаны по имени или адресами в форматах IPv4 и IPv6. Если указывается порт, он должен быть приведён в виде числового номера. Порт по умолчанию для ldap:// - 389, для ldaps:// - 636.
Для LDAP поверх IPC в качестве имени хоста в URL указывается имя сокета, а указания порта не требуется, более того, не разрешается; обратите внимание, что символ разделителя директорий в имени сокета должен быть закодирован в формате URL, как и все остальные символы, являющиеся специальными для URL; таким образом, сокет
/usr/local/var/ldapi
должен быть указан как
ldapi://%2Fusr%2Flocal%2Fvar%2Fldapi
Расположение IPC-сокета по умолчанию - /usr/local/var/run/ldapi.
Разрешения на соединения обозначаются конструкциями "x-mod=-rwxrwxrwx", "x-mod=0777" или "x-mod=777", где любой символ в сочетании "rwx" может быть заменён на "-" для запрета соответствующего разрешения, а символы на месте "7" могут быть любой допустимой восьмеричной цифрой в соответствии с chmod(1). Открываемые соединения могут воспользоваться расширением "x-mod" для реализации грубых ограничений на операции, например, разрешить операции чтения ("r", применяющееся для операций search и compare), операции записи ("w", применяющееся для операций add, delete, modify и modrdn), и операции исполнения ("x", означающее, что требуется операция bind). Разрешения, определяемые для "пользователя", применяются к пользователям, прошедшим аутентификацию, а определяемые для "остальных" - к анонимным пользователям; разрешения для "группы" игнорируются. Например, "ldap:///????x-mod=-rw-------" означает, что операции чтения и записи разрешены только соединениям, в которых пользователи прошли аутентификацию, и для всех операций требуется подсоединение. Данное свойство является экспериментальным и его необходимо явно указывать во время конфигурации.
Определяет директорию, которая станет корневой. slapd изменит текущую рабочую директорию на указанную директорию, а затем выполнит в неё chroot(2). Это осуществляется после открытия портов на прослушивание, но до чтения каких-либо конфигурационных файлов и инициализации каких-либо механизмов манипуляции данными. Если этот параметр применяется в качестве механизма безопасности, его следует использовать совместно с параметрами -u и -g.
slapd будет запущен с правами пользователя, указанного именем или идентификатором, и к нему будет применён список доступа дополнительных групп этого пользователя согласно initgroups(3). Идентификатор группы также будет изменён на gid этого пользователя, если это не переопределено параметром -g. Обратите внимание, что при использовании с -r slapd будет искать базу данных пользователей в окружении изменённой корневой директории.
Имейте ввиду, что на некоторых системах при запуске с правами непривилегированного пользователя для механизмов манипуляции данными passwd будет предотвращён доступ к зашифрованным паролям. Также имейте ввиду, что любые механизмы манипуляции данными shell будут запускаться с правами указанного непривилегированного пользователя.
slapd будет запущен с правами группы, указанной именем или идентификатором. Обратите внимание, что при использовании с -r slapd будет искать базу данных групп пользователей в окружении изменённой корневой директории.
Данный параметр предоставляет куки для потребителя репликации syncrepl. Куки представляет собой разделённый запятыми список пар имя=значение. Поддерживаемые в настоящий момент поля syncrepl-куки - rid, sid, и csn. rid идентифицирует процесс репликации на сервере-потребителе и используется для нахождения в slapd.conf(5) или slapd-config(5) спецификации syncrepl, имеющей в своём определении соответствующий идентификатор репликации. Если в этом параметре используются какие-либо другие значения, rid также должен быть указан. sid - это идентификатор сервера в конфигурации репликации с несколькими главными серверами (multi-master) или репликации в режиме зеркала (mirror-mode). csn - это порядковый номер изменения, полученный во время предыдущей синхронизации и представляющий собой состояние содержимого потребительской реплики, которое механизм syncrepl будет синхронизировать с текущим содержимым каталога поставщика. В случае конфигурации репликации с несколькими главными серверами или репликации в режиме зеркала могут присутствовать несколько разделённых запятыми значений csn. Для принудительной полной перезагрузки используйте только часть rid данного параметра.
Данный параметр предоставляет универсальную возможность указывать опции без необходимости выделения для них отдельной буквы.
Поддерживаются следующие опции:
- slp={on | off | slp-attrs}
Когда в slapd вкомпилирована поддержка SLP, эта опция отвечает за её отключение (off), её включение путём регистрации на SLP DA без специфических атрибутов SLP (on), или со специфическими атрибутами SLP slp-attrs, которые должны представлять из себя определение списка атрибутов SLP в соответствии со стандартом SLP.
Например, с параметром "slp=(tree=production),(server-type=OpenLDAP),(server-version=2.4.15)" slapd регистрируется на SLP DA с тремя атрибутами SLP: tree, server-type и server-version с приведёнными выше значениями. Это позволяет сделать конкретный запрос к SLP DA на предмет серверов LDAP, содержащих дерево production в случае, если доступно несколько деревьев.
Чтобы запустить slapd так, чтобы он произвёл ответвление, отсоединился от терминала и начал обслуживание баз данных LDAP, определённых в конфигурационном файле по умолчанию, просто выполните:
/usr/local/libexec/slapd
Чтобы запустить slapd с альтернативным конфигурационным файлом и включить вывод большого объёма отладочной информации в стандартный поток ошибок, выполните:
/usr/local/libexec/slapd -f /var/tmp/slapd.conf -d 255
Чтобы протестировать корректность конфигурационного файла, выполните:
/usr/local/libexec/slapd -Tt
ldap(3), slapd.conf(5), slapd-config(5), slapd.access(5), slapacl(8), slapadd(8), slapauth(8), slapcat(8), slapdn(8), slapindex(8), slappasswd(8), slapschema(8), slaptest(8).
"Руководство администратора OpenLDAP" (http://www.OpenLDAP.org/doc/admin/, http://pro-ldap.ru/tr/admin24/).
Смотрите http://www.openldap.org/its/ .
Программное обеспечение OpenLDAP разработано и поддерживается проектом OpenLDAP <http://www.openldap.org/>. Программное обеспечение OpenLDAP является производным от релиза 3.3 LDAP Мичиганского Университета.
OpenLDAP 2.4.47 | SLAPD(8C) | 2018/12/19 |