mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-27 03:20:22 +08:00
162 lines
3.8 KiB
Groff
162 lines
3.8 KiB
Groff
.TH SLAPD-SHELL 5 "RELEASEDATE" "OpenLDAP LDVERSION"
|
|
.\" Copyright 1998-2003 The OpenLDAP Foundation All Rights Reserved.
|
|
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
|
|
.\" $OpenLDAP$
|
|
.SH NAME
|
|
slapd-shell \- Shell backend to slapd
|
|
.SH SYNOPSIS
|
|
ETCDIR/slapd.conf
|
|
.SH DESCRIPTION
|
|
The Shell backend to
|
|
.BR slapd (8)
|
|
executes external programs to implement operations, and is designed to
|
|
make it easy to tie an existing database to the
|
|
.B slapd
|
|
front-end.
|
|
.LP
|
|
This backend is is primarily intended to be used in prototypes.
|
|
.SH WARNING
|
|
.B "This backend's calling conventions have changed since OpenLDAP 2.0."
|
|
The abandon operation now gets a new "pid:" line.
|
|
The "msgid:" lines will be removed in a future version.
|
|
.SH CONFIGURATION
|
|
These
|
|
.B slapd.conf
|
|
options apply to the SHELL backend database.
|
|
That is, they must follow a "database shell" line and come before any
|
|
subsequent "backend" or "database" lines.
|
|
Other database options are described in the
|
|
.BR slapd.conf (5)
|
|
manual page.
|
|
.LP
|
|
These options specify the pathname and arguments of the program to
|
|
execute in response to the given LDAP operation.
|
|
Each option is followed by the input lines that the program receives:
|
|
.TP
|
|
.B abandon <pathname> <argument>...
|
|
.nf
|
|
ABANDON
|
|
msgid: <message ID of operation to abandon>
|
|
<repeat { "suffix:" <database suffix DN> }>
|
|
pid: <process ID of operation to abandon>
|
|
.fi
|
|
.TP
|
|
.B add <pathname> <argument>...
|
|
.nf
|
|
ADD
|
|
msgid: <message id>
|
|
<repeat { "suffix:" <database suffix DN> }>
|
|
<entry in LDIF format>
|
|
.fi
|
|
.TP
|
|
.B bind <pathname> <argument>...
|
|
.nf
|
|
BIND
|
|
msgid: <message id>
|
|
<repeat { "suffix:" <database suffix DN> }>
|
|
dn: <DN>
|
|
method: <method number>
|
|
credlen: <length of <credentials>>
|
|
cred: <credentials>
|
|
.fi
|
|
.TP
|
|
.B compare <pathname> <argument>...
|
|
.nf
|
|
COMPARE
|
|
msgid: <message id>
|
|
<repeat { "suffix:" <database suffix DN> }>
|
|
dn: <DN>
|
|
<attribute>: <value>
|
|
.fi
|
|
.TP
|
|
.B delete <pathname> <argument>...
|
|
.nf
|
|
DELETE
|
|
msgid: <message id>
|
|
<repeat { "suffix:" <database suffix DN> }>
|
|
dn: <DN>
|
|
.fi
|
|
.TP
|
|
.B modify <pathname> <argument>...
|
|
.nf
|
|
MODIFY
|
|
msgid: <message id>
|
|
<repeat { "suffix:" <database suffix DN> }>
|
|
dn: <DN>
|
|
<repeat {
|
|
<"add"/"delete"/"replace">: <attribute>
|
|
<repeat { <attribute>: <value> }>
|
|
-
|
|
}>
|
|
.fi
|
|
.TP
|
|
.B modrdn <pathname> <argument>...
|
|
.nf
|
|
MODRDN
|
|
msgid: <message id>
|
|
<repeat { "suffix:" <database suffix DN> }>
|
|
dn: <DN>
|
|
newrdn: <new RDN>
|
|
deleteoldrdn: <0 or 1>
|
|
<if new superior is specified: "newSuperior: <DN>">
|
|
.fi
|
|
.TP
|
|
.B search <pathname> <argument>...
|
|
.nf
|
|
SEARCH
|
|
msgid: <message id>
|
|
<repeat { "suffix:" <database suffix DN> }>
|
|
base: <base DN>
|
|
scope: <0-2, see ldap.h>
|
|
deref: <0-3, see ldap.h>
|
|
sizelimit: <size limit>
|
|
timelimit: <time limit>
|
|
filter: <filter>
|
|
attrsonly: <0 or 1>
|
|
attrs: <"all" or space-separated attribute list>
|
|
.fi
|
|
.TP
|
|
.B unbind <pathname> <argument>...
|
|
.nf
|
|
UNBIND
|
|
msgid: <message id>
|
|
<repeat { "suffix:" <database suffix DN> }>
|
|
dn: <bound DN>
|
|
.fi
|
|
.LP
|
|
Note that you need only supply configuration lines for those commands you
|
|
want the backend to handle.
|
|
Operations for which a command is not supplied will be refused with an
|
|
"unwilling to perform" error.
|
|
.LP
|
|
The commands - except \fBabandon\fP and \fBunbind\fP - should output:
|
|
.RS
|
|
.nf
|
|
RESULT
|
|
code: <integer>
|
|
matched: <matched DN>
|
|
info: <text>
|
|
.fi
|
|
.RE
|
|
where only RESULT is mandatory.
|
|
The \fBsearch\fP RESULT should be preceded by the entries in LDIF
|
|
format, each entry followed by a blank line.
|
|
Lines starting with `#' or `DEBUG:' are ignored.
|
|
.SH EXAMPLE
|
|
There is an example search script in the slapd/back-shell/ directory
|
|
in the OpenLDAP source tree.
|
|
.SH LIMITATIONS
|
|
The shell backend does not support threaded environments.
|
|
When using the shell backend,
|
|
.BR slapd (8)
|
|
should be built
|
|
.IR --without-thread .
|
|
.SH FILES
|
|
.TP
|
|
ETCDIR/slapd.conf
|
|
default slapd configuration file
|
|
.SH SEE ALSO
|
|
.BR slapd.conf (5),
|
|
.BR slapd (8),
|
|
.BR sh (1).
|