lloadd

package: openldap-servers

title: lloadd(8)

summary: LDAP Load Balancer Daemon

text:
# lloadd(8)

## NAME
lloadd - LDAP Load Balancer Daemon

## SYNOPSIS
/usr/lib/lloadd [-4|-6] [-d debug-level] [-f lloadd-config-file] [-h URLs] [-n service-name] [-s syslog-level] [-l syslog-local-user] [-o option[=value]] [-r directory] [-u user] [-g group]

## DESCRIPTION
Lloadd is the stand-alone LDAP daemon. It listens for LDAP connections on any number of ports (default 389), forwarding the LDAP operations it receives over these connections to be handled by the configured backends. lloadd is typically invoked at boot time, usually out of /etc/rc.local. Upon startup, lloadd normally forks and disassociates itself from the invoking tty. If configured in the config file, the lloadd process will print its process ID (see getpid(2)) to a .pid file, as well as the command line options during invocation to an .args file (see lloadd.conf(5)). If the -d flag is given, even with a zero argument, lloadd will not fork and disassociate from the invoking tty.

See the "OpenLDAP Administrator's Guide" for more details on lloadd.

## OPTIONS
-4

Listen on IPv4 addresses only.

-6

Listen on IPv6 addresses only.

-d debug-level

Turn on debugging as defined by debug-level. If this option is specified, even with a zero argument, lloadd will not fork or disassociate from the invoking terminal. Some general operation and status messages are printed for any value of debug-level. debug-level is taken as a bit string, with each bit corresponding to a different kind of debugging information. See <ldap_log.h> for details. Comma-separated arrays of friendly names can be specified to select debugging output of the corresponding debugging information. All the names recognized by the loglevel directive described in lloadd.conf(5) are supported. If debug-level is ?, a list of installed debug-levels is printed, and lloadd exits. Remember that if you turn on packet logging, packets containing bind passwords will be output, so if you redirect the log to a logfile, that file should be read-protected.

-s syslog-level

This option tells lloadd at what debug-level debugging statements should be logged to the syslog(8) facility. The value syslog-level can be set to any value or combination allowed by the -d switch. Lloadd logs all messages selected by syslog-level at the syslog(3) severity debug-level DEBUG, on the unit specified with -l.

-n service-name

Specifies the service name for logging and other purposes. Defaults to basename of argv[0], i.e.: "lloadd".

-l syslog-local-user

Selects the local user of the syslog(8) facility. Value can be LOCAL0, through LOCAL7, as well as USER and DAEMON. The default is LOCAL4. However, this option is only permitted on systems that support local users with the syslog(8) facility. Logging to syslog(8) occurs at the "DEBUG" severity debug-level.

-f lloadd-config-file

Specifies the lloadd configuration file. The default is /etc/openldap/lloadd.conf.

-h URLlist

lloadd will by default serve ldap:/// (LDAP over TCP on all interfaces on default LDAP port). That is, it will bind using INADDR_ANY and port 389. The -h option may be used to specify LDAP (and other scheme) URLs to serve. For example, if lloadd is given -h "ldap://127.0.0.1:9009/ ldaps:/// ldapi:///", it will listen on 127.0.0.1:9009 for LDAP, 0.0.0.0:636 for LDAP over TLS, and LDAP over IPC (Unix domain sockets). Host 0.0.0.0 represents INADDR_ANY (any interface). A space separated list of URLs is expected. The URLs should be of the LDAP, PLDAP, LDAPS, PLDAPS, or LDAPI schemes, and generally without a DN or other optional parameters (excepting as discussed below). Support for the latter three schemes depends on selected configuration options. Hosts may be specified by name or IPv4 and IPv6 address formats. Ports, if specified, must be numeric. The default ldap:// port is 389 and the default ldaps:// port is 636, same for the proxy enabled variants. The PLDAP and PLDAPS URL schemes provide support for the HAProxy proxy protocol version 2, which allows a load balancer or proxy server to provide the remote client IP address to slapd to be used for access control or logging. Ports configured for PLDAP or PLDAPS will only accept connections that include the necessary proxy protocol header. Connections to these ports should be restricted at the network level to only trusted load balancers or proxies to avoid spoofing of client IP addresses by third parties.

At the moment, the load balancer does not act on the recorded address in any way.

For LDAP over IPC, name is the name of the socket, and no port is required, nor allowed; note that directory separators must be URL-encoded, like any other characters that are special to URLs; so the socket

/usr/local/var/ldapi

must be specified as

ldapi://%2Fusr%2Flocal%2Fvar%2Fldapi

The default location for the IPC socket is /var/run/ldapi

-r directory

Specifies a directory to become the root directory. lloadd will change the current working directory to this directory and then chroot(2) to this directory. This is done after opening listeners but before reading any configuration file or initializing any backend. When used as a security mechanism, it should be used in conjunction with -u and -g options.

-u user

lloadd will run lloadd with the specified user name or id, and that user's supplementary group access list as set with initgroups(3). The group ID is also changed to this user's gid, unless the -g option is used to override. Note when used with -r, lloadd will use the user database in the change root environment.

-g group

lloadd will run with the specified group name or id. Note when used with -r, lloadd will use the group database in the change root environment.

-o option[=value]

This option provides a generic means to specify options without the need to reserve a separate letter for them. It supports the following options:

slp={on|off|slp-attrs}

When SLP support is compiled into lloadd, disable it (off),

enable it by registering at SLP DAs without specific SLP attributes (on), or with specific SLP attributes slp-attrs that must be an SLP attribute list definition according to the SLP standard. For example, "slp=(tree=production),(server-type=OpenLDAP),(server-version=2.4.15)" registers at SLP DAs with the three SLP attributes tree, server-type and server-version that have the values given above. This allows one to specifically query the SLP DAs for LDAP servers holding the production tree in case multiple trees are available.

## RELATION TO SLAPD(8)
Lloadd can be compiled as a slapd loadable module. In that case, it can be loaded as such:

```
    moduleload path/to/lloadd.la

    backend lload

    listen "listening URLs"
```

This enables lloadd to provide additional features through the host slapd process like access to run-time statistics in cn=monitor and dynamic configuration from cn=config.

The listening sockets specified will be under direct control of lloadd and need to be different from the sockets slapd is configured to listen on. Clients connecting to these are completely separate from regular LDAP clients connecting to the usual slapd sockets - lloadd clients have no access to slapd databases, similarly, slapd client traffic does not propagate to the lloadd backend servers in any way.

## CN=MONITOR INTERFACE
As part of lloadd's cn=monitor interface it is possible to close a client connection it manages by writing to the corresponding entry, replacing the olmConnectionState attribute with the value closing. This is subject to ACLs configured on the monitor database. The server will send a Notice of Disconnection to the client, refuse any new operations and once all pending operations have finished, close the connection.

For example, to close connection number 42:

```
    dn: cn=connection 42,cn=incoming connections,cn=load balancer,cn=backends,cn=monitor

    changetype: modify

    replace: olmConnectionState

    olmConnectionState: closing
```

## EXAMPLES
To start lloadd and have it fork and detach from the terminal and start load-balancing the LDAP servers defined in the default config file, just type:

```
	/usr/lib/lloadd
```

To start lloadd with an alternate configuration file, and turn on voluminous debugging which will be printed on standard error, type:

```
	/usr/lib/lloadd -f /var/tmp/lloadd.conf -d 255
```

To start lloadd as a module inside a slapd process listening on ldap://:1389 and ldaps://, put the following in your slapd.conf (or its equivalent in cn=config):

```
    moduleload lloadd.la

    backend lload

    listen "ldap://:1389 ldaps://"
```

## SEE ALSO
ldap(3), lloadd.conf(5), slapd-config(5), slapd-monitor(5), slapd(8).

"OpenLDAP Administrator's Guide" (http://www.OpenLDAP.org/doc/admin/)

## BUGS
See http://www.openldap.org/its/

## ACKNOWLEDGEMENTS
OpenLDAP Software is developed and maintained by The OpenLDAP Project <http://www.openldap.org/>. OpenLDAP Software is derived from the University of Michigan LDAP 3.3 Release.


slapacl

title: slapacl(8)

summary: Check access to a list of attributes.

text:
# slapacl(8)

## NAME
slapacl - Check access to a list of attributes.

## SYNOPSIS
/usr/sbin/slapacl -b DN [-d debug-level] [-D authcDN | -U authcID] [-f slapd.conf] [-F confdir] [-o option[=value]] [-u] [-v] [-X authzID | -o authzDN=DN] [attr[/access][:value]] [...]

## DESCRIPTION
slapacl is used to check the behavior of slapd(8) by verifying access to directory data according to the access control list directives defined in its configuration. It opens the slapd.conf(5) configuration file or the slapd-config(5) backend, reads in the access/olcAccess directives, and then parses the attr list given on the command-line; if none is given, access to the entry pseudo-attribute is tested.

## OPTIONS
-b DN

specify the DN which access is requested to; the corresponding entry is fetched from the database, and thus it must exist. The DN is also used to determine what rules apply; thus, it must be in the naming context of a configured database. By default, the first database that supports the requested operation is used. See also -u.

-d debug-level

enable debugging messages as defined by the specified debug-level; see slapd(8) for details.

-D authcDN

specify a DN to be used as identity through the test session when selecting appropriate <by> clauses in access lists.

-f slapd.conf

specify an alternative slapd.conf(5) file.

-F confdir

specify a config directory. If both -f and -F are specified, the config file will be read and converted to config directory format and written to the specified directory. If neither option is specified, an attempt to read the default config directory will be made before trying to use the default config file. If a valid config directory exists then the default config file is ignored.

-o option[=value]

Specify an option with a(n optional) value. Possible generic options/values are:

```
              syslog=<subsystems>  (see `-s' in slapd(8))

              syslog-level=<level> (see `-S' in slapd(8))

              syslog-user=<user>   (see `-l' in slapd(8))
```

Possible options/values specific to slapacl are:

```
              authzDN

              domain

              peername

              sasl_ssf

              sockname

              sockurl

              ssf

              tls_ssf

              transport_ssf
```

See the related fields in slapd.access(5) for details.

-u

enable dry-run mode. Do not fetch any entries from the database. In this case, a fake entry with the DN given with the -b option is used, with no attributes. As a consequence, those rules that depend on the contents of the target object or any other database objects will not behave as with the real object. The DN given with the -b option is still used to select what rules apply; thus, it must be in the naming context of a configured database. See also -b.

-U authcID

specify an ID to be mapped to a DN as by means of authz-regexp or authz-rewrite rules (see slapd.conf(5) for details); mutually exclusive with -D.

-v

enable verbose mode.

-X authzID

specify an authorization ID to be mapped to a DN as by means of authz-regexp or authz-rewrite rules (see slapd.conf(5) for details); mutually exclusive with -o authzDN=DN.

## EXAMPLES
The command

```
	/usr/sbin/slapacl -f /etc/openldap/slapd.conf -v \

            -U bjorn -b "o=University of Michigan,c=US" \
	    "o/read:University of Michigan"
```

tests whether the user bjorn can access the attribute o of the entry o=University of Michigan,c=US at read level.

## SEE ALSO
ldap(3), slapd(8), slaptest(8), slapauth(8)

"OpenLDAP Administrator's Guide" (http://www.OpenLDAP.org/doc/admin/)

## ACKNOWLEDGEMENTS
OpenLDAP Software is developed and maintained by The OpenLDAP Project <http://www.openldap.org/>. OpenLDAP Software is derived from the University of Michigan LDAP 3.3 Release.


slapadd

title: slapadd(8)

summary: Add entries to a SLAPD database

text:
# slapadd(8)

## NAME
slapadd - Add entries to a SLAPD database

## SYNOPSIS
/usr/sbin/slapadd [-b suffix] [-c] [-d debug-level] [-f slapd.conf] [-F confdir] [-g] [-j lineno] [-l ldif-file] [-n dbnum] [-o option[=value]] [-q] [-s] [-S SID] [-u] [-v] [-w]

## DESCRIPTION
Slapadd is used to add entries specified in LDAP Directory Interchange Format (LDIF) to a slapd(8) database. It opens the given database determined by the database number or suffix and adds entries corresponding to the provided LDIF to the database. Databases configured as subordinate of this one are also updated, unless -g is specified. The LDIF input is read from standard input or the specified file.

All files eventually created by slapadd will belong to the identity slapadd is run as, so make sure you either run slapadd with the same identity slapd(8) will be run as (see option -u in slapd(8)), or change file ownership before running slapd(8).

Note: slapadd will also perform the relevant indexing whilst adding the database if any are configured. For specific details, please see slapindex(8).

## OPTIONS
-b suffix

Use the specified suffix to determine which database to add entries to. By default, the first database that supports the requested operation is used. The -b cannot be used in conjunction with the -n option.

-c

enable continue (ignore errors) mode.

-d debug-level

enable debugging messages as defined by the specified debug-level; see slapd(8) for details.

-f slapd.conf

specify an alternative slapd.conf(5) file.

-F confdir

specify a config directory. If both -f and -F are specified, the config file will be read and converted to config directory format and written to the specified directory. If neither option is specified, an attempt to read the default config directory will be made before trying to use the default config file. If a valid config directory exists then the default config file is ignored. If dry-run mode is also specified, no conversion will occur.

-g

disable subordinate gluing. Only the specified database will be processed, and not its glued subordinates (if any).

-j lineno

Jump to the specified line number in the LDIF file before processing any entries. This allows a load that was aborted due to errors in the input LDIF to be resumed after the errors are corrected.

-l ldif-file

Read LDIF from the specified file instead of standard input.

-n dbnum

Add entries to the dbnum-th database listed in the configuration file. The -n cannot be used in conjunction with the -b option. To populate the config database slapd-config(5), use -n 0 as it is always the first database. It must physically exist on the filesystem prior to this, however.

-o option[=value]

Specify an option with a(n optional) value. Possible generic options/values are:

```
              syslog=<subsystems>  (see `-s' in slapd(8))

              syslog-level=<level> (see `-S' in slapd(8))

              syslog-user=<user>   (see `-l' in slapd(8))

              schema-check={yes|no}

              value-check={yes|no}

The schema-check option toggles schema checking (default on);
the value-check option toggles value checking (default off).
The latter is incompatible with -q.
```

-q

```
enable quick (fewer integrity checks) mode.  Does fewer consistency checks
on the input data, and no consistency checks when writing the database.
Improves the load time but if any errors or interruptions occur the resulting
database will be unusable.
```

-s

```
disable schema checking.  This option is intended to be used when loading
databases containing special objects, such as fractional objects on a
partial consumer.  Loading normal objects which do not conform to
schema may result in unexpected and ill behavior.
```

-S SID

```
Server ID to use in generated entryCSN.  Also used for contextCSN
if -w is set as well.  Defaults to 0.
```

-u

```
enable dry-run (don't write to backend) mode.
```

-v

```
enable verbose mode.
```

-w

```
(over)write syncrepl context information. After all entries are added, the
contextCSN will be updated with the greatest CSN in the database. Only use to
load a fresh seed provider.
```

## LIMITATIONS
Your slapd(8) should not be running when you do this to ensure consistency of the database.

slapadd may not provide naming or schema checks. It is advisable to use ldapadd(1) when adding new entries into an existing directory.

## EXAMPLES
To import the entries specified in file ldif into your slapd(8) database give the command:

```
	/usr/sbin/slapadd -l ldif
```

## SEE ALSO
ldap(3), ldif(5), slapcat(8), slapindex(8), slapmodify(8), ldapadd(1), slapd(8)

"OpenLDAP Administrator's Guide" (http://www.OpenLDAP.org/doc/admin/)

## ACKNOWLEDGEMENTS
OpenLDAP Software is developed and maintained by The OpenLDAP Project <http://www.openldap.org/>. OpenLDAP Software is derived from the University of Michigan LDAP 3.3 Release.


slapauth

title: slapauth(8)

text:
# slapauth(8)

## NAME
slapauth - Check a list of string-represented IDs for LDAP authc/authz

## SYNOPSIS
/usr/sbin/slapauth [-d debug-level] [-f slapd.conf] [-F confdir] [-M mech] [-o option[=value]] [-R realm] [-U authcID] [-v] [-X authzID] ID [...]

## DESCRIPTION
Slapauth is used to check the behavior of the slapd in mapping identities for authentication and authorization purposes, as specified in slapd.conf(5). It opens the slapd.conf(5) configuration file or the slapd-config(5) backend, reads in the authz-policy/olcAuthzPolicy and authz-regexp/olcAuthzRegexp directives, and then parses the ID list given on the command-line.

## OPTIONS
-d debug-level

enable debugging messages as defined by the specified debug-level; see slapd(8) for details.

-f slapd.conf

specify an alternative slapd.conf(5) file.

-F confdir

specify a config directory. If both -f and -F are specified, the config file will be read and converted to config directory format and written to the specified directory. If neither option is specified, an attempt to read the default config directory will be made before trying to use the default config file. If a valid config directory exists then the default config file is ignored.

-M mech

specify a mechanism.

-o option[=value]

Specify an option with a(n optional) value. Possible generic options/values are:

```
              syslog=<subsystems>  (see `-s' in slapd(8))

              syslog-level=<level> (see `-S' in slapd(8))

              syslog-user=<user>   (see `-l' in slapd(8))
```

-R realm

specify a realm.

-U authcID

specify an ID to be used as authcID throughout the test session. If present, and if no authzID is given, the IDs in the ID list are treated as authzID.

-X authzID

specify an ID to be used as authzID throughout the test session. If present, and if no authcID is given, the IDs in the ID list are treated as authcID. If both authcID and authzID are given via command line switch, the ID list cannot be present.

-v

enable verbose mode.

## EXAMPLES
The command

```
	/usr/sbin/slapauth -f //etc/openldap/slapd.conf -v \

            -U bjorn -X u:bjensen
```

tests whether the user bjorn can assume the identity of the user bjensen provided the directives

```
	authz-policy from
	authz-regexp "^uid=([^,]+).*,cn=auth$"
		"ldap:///dc=example,dc=net??sub?uid=$1"
```

are defined in slapd.conf(5).

## SEE ALSO
ldap(3), slapd(8), slaptest(8)

"OpenLDAP Administrator's Guide" (http://www.OpenLDAP.org/doc/admin/)

## ACKNOWLEDGEMENTS
OpenLDAP Software is developed and maintained by The OpenLDAP Project <http://www.openldap.org/>. OpenLDAP Software is derived from the University of Michigan LDAP 3.3 Release.


slapcat

title: slapcat(8)

summary: SLAPD database to LDIF utility

text:
# slapcat(8)

## NAME
slapcat - SLAPD database to LDIF utility

## SYNOPSIS
/usr/sbin/slapcat [-afilter] [-bsuffix] [-c] [-ddebug-level] [-fslapd.conf] [-Fconfdir] [-g] [-HURI] [-lldif-file] [-ndbnum] [-ooption[=value]] [-ssubtree-dn] [-v]

## DESCRIPTION
Slapcat is used to generate an LDAP Directory Interchange Format (LDIF) output based upon the contents of a slapd(8) database. It opens the given database determined by the database number or suffix and writes the corresponding LDIF to standard output or the specified file. Databases configured as subordinate of this one are also output, unless -g is specified.

The entry records are presented in database order, not superior first order. The entry records will include all (user and operational) attributes stored in the database. The entry records will not include dynamically generated attributes (such as subschemaSubentry).

The output of slapcat is intended to be used as input to slapadd(8). The output of slapcat cannot generally be used as input to ldapadd(1) or other LDAP clients without first editing the output. This editing would normally include reordering the records into superior first order and removing no-user-modification operational attributes.

## OPTIONS
-a filter

Only dump entries matching the asserted filter. For example slapcat -a \

"(!(entryDN:dnSubtreeMatch:=ou=People,dc=example,dc=com))"

will dump all but the "ou=People,dc=example,dc=com" subtree of the "dc=example,dc=com" database. Deprecated; use -H ldap:///???(filter) instead.

-b suffix

Use the specified suffix to determine which database to generate output for. By default, the first database that supports the requested operation is used. The -b cannot be used in conjunction with the -n option.

-c

Enable continue (ignore errors) mode. Multiple occurrences of -c make slapcat(8) try harder.

-d debug-level

Enable debugging messages as defined by the specified debug-level; see slapd(8) for details.

-f slapd.conf

Specify an alternative slapd.conf(5) file.

-F confdir

specify a config directory. If both -f and -F are specified, the config file will be read and converted to config directory format and written to the specified directory. If neither option is specified, an attempt to read the default config directory will be made before trying to use the default config file. If a valid config directory exists then the default config file is ignored.

-g

disable subordinate gluing. Only the specified database will be processed, and not its glued subordinates (if any).

-H URI

use dn, scope and filter from URI to only handle matching entries.

-l ldif-file

Write LDIF to specified file instead of standard output.

-n dbnum

Generate output for the dbnum-th database listed in the configuration file. The config database slapd-config(5), is always the first database, so use -n 0 to select it. The -n cannot be used in conjunction with the -b option.

-o option[=value]

Specify an option with a(n optional) value. Possible generic options/values are:

```
              syslog=<subsystems>  (see `-s' in slapd(8))

              syslog-level=<level> (see `-S' in slapd(8))

              syslog-user=<user>   (see `-l' in slapd(8))

              ldif_wrap={no|<n>}

n is the number of columns allowed for the LDIF output
(n equal to 0 uses the default, corresponding to 78).
The minimum is 2, leaving space for one character and one
continuation character.
Use no for no wrap.
```

-s subtree-dn

```
Only dump entries in the subtree specified by this DN.
Implies -b subtree-dn if no
-b
or
-n
option is given.
Deprecated; use -H ldap:///subtree-dn instead.
```

-v

```
Enable verbose mode.
```

## LIMITATIONS
For some backend types, your slapd(8) should not be running (at least, not in read-write mode) when you do this to ensure consistency of the database. It is always safe to run slapcat with the slapd-mdb(5), and slapd-null(5) backends.

## EXAMPLES
To make a text backup of your SLAPD database and put it in a file called ldif, give the command:

```
	/usr/sbin/slapcat -l ldif
```

## SEE ALSO
ldap(3), ldif(5), slapadd(8), ldapadd(1), slapd(8)

"OpenLDAP Administrator's Guide" (http://www.OpenLDAP.org/doc/admin/)

## ACKNOWLEDGEMENTS
OpenLDAP Software is developed and maintained by The OpenLDAP Project <http://www.openldap.org/>. OpenLDAP Software is derived from the University of Michigan LDAP 3.3 Release.


slapd

title: slapd(8)

summary: Stand-alone LDAP Daemon

text:
# slapd(8)

## NAME
slapd - Stand-alone LDAP Daemon

## SYNOPSIS
/usr/lib/slapd [-V[V[V]] [-4|-6] [-T {acl|a[dd]|auth|c[at]| d[n]|i[ndex]|m[odify]|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]

## DESCRIPTION
Slapd is the stand-alone LDAP daemon. It listens for LDAP connections on any number of ports (default 389), responding to the LDAP operations it receives over these connections. slapd is typically invoked at boot time, usually out of /etc/rc.local. Upon startup, slapd normally forks and disassociates itself from the invoking tty. If configured in the config file (or config directory), the slapd process will print its process ID (see getpid(2)) to a .pid file, as well as the command line options during invocation to an .args file (see slapd.conf(5)). If the -d flag is given, even with a zero argument, slapd will not fork and disassociate from the invoking tty.

See the "OpenLDAP Administrator's Guide" for more details on slapd.

## OPTIONS
-V[V[V]]

Print version info and proceed with startup. If -VV is given, exit after providing version info. If -VVV is given, additionally provide information on static overlays and backends.

-4

Listen on IPv4 addresses only.

-6

Listen on IPv6 addresses only.

-T tool

Run in Tool mode. The tool argument selects whether to run as slapadd, slapcat, slapdn, slapindex, slapmodify, slappasswd, slapschema, or slaptest (slapacl and slapauth need the entire acl and auth option value to be spelled out, as a is reserved to slapadd). This option should be the first option specified when it is used; any remaining options will be interpreted by the corresponding slap tool program, according to the respective man pages. Note that these tool programs will usually be symbolic links to slapd. This option is provided for situations where symbolic links are not provided or not usable.

-d debug-level

Turn on debugging as defined by debug-level. If this option is specified, even with a zero argument, slapd will not fork or disassociate from the invoking terminal. Some general operation and status messages are printed for any value of debug-level. debug-level is taken as a bit string, with each bit corresponding to a different kind of debugging information. See <ldap_log.h> for details. Comma-separated arrays of friendly names can be specified to select debugging output of the corresponding debugging information. All the names recognized by the loglevel directive described in slapd.conf(5) are supported. If debug-level is ?, a list of installed debug-levels is printed, and slapd exits. Remember that if you turn on packet logging, packets containing bind passwords will be output, so if you redirect the log to a logfile, that file should be read-protected.

-s syslog-level

This option tells slapd at what debug-level debugging statements should be logged to the syslog(8) facility. The value syslog-level can be set to any value or combination allowed by the -d switch. Slapd logs all messages selected by syslog-level at the syslog(3) severity debug-level DEBUG, on the unit specified with -l.

-n service-name

Specifies the service name for logging and other purposes. Defaults to basename of argv[0], i.e.: "slapd".

-l syslog-local-user

Selects the local user of the syslog(8) facility. Value can be LOCAL0, through LOCAL7, as well as USER and DAEMON. The default is LOCAL4. However, this option is only permitted on systems that support local users with the syslog(8) facility. Logging to syslog(8) occurs at the "DEBUG" severity debug-level.

-f slapd-config-file

Specifies the slapd configuration file. The default is /etc/openldap/slapd.conf.

-F slapd-config-directory

Specifies the slapd configuration directory. The default is /etc/openldap/slapd.d. If both -f and -F are specified, the config file will be read and converted to config directory format and written to the specified directory. If neither option is specified, slapd will attempt to read the default config directory before trying to use the default config file. If a valid config directory exists then the default config file is ignored. All of the slap tools that use the config options observe this same behavior.

-h URLlist

slapd will by default serve ldap:/// (LDAP over TCP on all interfaces on default LDAP port). That is, it will bind using INADDR_ANY and port 389. The -h option may be used to specify LDAP (and other scheme) URLs to serve. For example, if slapd is given -h "ldap://127.0.0.1:9009/ ldaps:/// ldapi:///", it will listen on 127.0.0.1:9009 for LDAP, 0.0.0.0:636 for LDAP over TLS, and LDAP over IPC (Unix domain sockets). Host 0.0.0.0 represents INADDR_ANY (any interface). A space separated list of URLs is expected. The URLs should be of the LDAP, PLDAP, LDAPS, PLDAPS, or LDAPI schemes, and generally without a DN or other optional parameters (excepting as discussed below). Support for the latter three schemes depends on selected configuration options. Hosts may be specified by name or IPv4 and IPv6 address formats. Ports, if specified, must be numeric. The default ldap:// port is 389 and the default ldaps:// port is 636, same for the proxy enabled variants. The PLDAP and PLDAPS URL schemes provide support for the HAProxy proxy protocol version 2, which allows a load balancer or proxy server to provide the remote client IP address to slapd to be used for access control or logging. Ports configured for PLDAP or PLDAPS will only accept connections that include the necessary proxy protocol header. Connections to these ports should be restricted at the network level to only trusted load balancers or proxies to avoid spoofing of client IP addresses by third parties.

For LDAP over IPC, name is the name of the socket, and no port is required, nor allowed; note that directory separators must be URL-encoded, like any other characters that are special to URLs; so the socket

/usr/local/var/ldapi

must be specified as

ldapi://%2Fusr%2Flocal%2Fvar%2Fldapi

The default location for the IPC socket is /var/run/ldapi

The listener permissions are indicated by "x-mod=-rwxrwxrwx", "x-mod=0777" or "x-mod=777", where any of the "rwx" can be "-" to suppress the related permission, while any of the "7" can be any legal octal digit, according to chmod(1). The listeners can take advantage of the "x-mod" extension to apply rough limitations to operations, e.g. allow read operations ("r", which applies to search and compare), write operations ("w", which applies to add, delete, modify and modrdn), and execute operations ("x", which means bind is required). "User" permissions apply to authenticated users, while "other" apply to anonymous users; "group" permissions are ignored. For example, "ldap:///????x-mod=-rw-------" means that read and write is only allowed for authenticated connections, and bind is required for all operations. This feature is experimental, and requires to be manually enabled at configure time.

-r directory

Specifies a directory to become the root directory. slapd will change the current working directory to this directory and then chroot(2) to this directory. This is done after opening listeners but before reading any configuration file or initializing any backend. When used as a security mechanism, it should be used in conjunction with -u and -g options.

-u user

slapd will run slapd with the specified user name or id, and that user's supplementary group access list as set with initgroups(3). The group ID is also changed to this user's gid, unless the -g option is used to override. Note when used with -r, slapd will use the user database in the change root environment. Note that on some systems, running as a non-privileged user will prevent passwd back-ends from accessing the encrypted passwords. Note also that any shell back-ends will run as the specified non-privileged user.

-g group

slapd will run with the specified group name or id. Note when used with -r, slapd will use the group database in the change root environment.

-c cookie

This option provides a cookie for the syncrepl replication consumer. The cookie is a comma separated list of name=value pairs. Currently supported syncrepl cookie fields are rid, sid, and csn. rid identifies a replication thread within the consumer server and is used to find the syncrepl specification in slapd.conf(5) or slapd-config(5) having the matching replication identifier in its definition. The rid must be provided in order for any other specified values to be used. sid is the server id in a multi-provider configuration. csn is the commit sequence number received by a previous synchronization and represents the state of the consumer content which the syncrepl engine will synchronize to the current provider content. In case of multi-provider replication agreement, multiple csn values, semicolon separated, can appear. Use only the rid part to force a full reload.

-o option[=value]

This option provides a generic means to specify options without the need to reserve a separate letter for them. It supports the following options:

slp={on|off|slp-attrs}

When SLP support is compiled into slapd, disable it (off),

enable it by registering at SLP DAs without specific SLP attributes (on), or with specific SLP attributes slp-attrs that must be an SLP attribute list definition according to the SLP standard. For example, "slp=(tree=production),(server-type=OpenLDAP),(server-version=2.4.15)" registers at SLP DAs with the three SLP attributes tree, server-type and server-version that have the values given above. This allows one to specifically query the SLP DAs for LDAP servers holding the production tree in case multiple trees are available.

## EXAMPLES
To start slapd and have it fork and detach from the terminal and start serving the LDAP databases defined in the default config file, just type:

```
	/usr/lib/slapd
```

To start slapd with an alternate configuration file, and turn on voluminous debugging which will be printed on standard error, type:

```
	/usr/lib/slapd -f /var/tmp/slapd.conf -d 255
```

To test whether the configuration file is correct or not, type:

```
	/usr/lib/slapd -Tt
```

## SEE ALSO
ldap(3), slapd.conf(5), slapd-config(5), slapd.access(5), slapacl(8), slapadd(8), slapauth(8), slapcat(8), slapdn(8), slapindex(8), slapmodify(8), slappasswd(8), slapschema(8), slaptest(8).

"OpenLDAP Administrator's Guide" (http://www.OpenLDAP.org/doc/admin/)

## BUGS
See http://www.openldap.org/its/

## ACKNOWLEDGEMENTS
OpenLDAP Software is developed and maintained by The OpenLDAP Project <http://www.openldap.org/>. OpenLDAP Software is derived from the University of Michigan LDAP 3.3 Release.


slapdn

title: slapdn(8)

text:
# slapdn(8)

## NAME
slapdn - Check a list of string-represented LDAP DNs based on schema syntax

## SYNOPSIS
/usr/sbin/slapdn [-d debug-level] [-f slapd.conf] [-F confdir] [-N|-P] [-o option[=value]] [-v] DN [...]

## DESCRIPTION
Slapdn is used to check the conformance of a DN based on the schema defined in slapd(8) and that loaded via slapd.conf(5). It opens the slapd.conf(5) configuration file or the slapd-config (5) backend, reads in the schema definitions, and then parses the DN list given on the command-line.

## OPTIONS
-d debug-level

enable debugging messages as defined by the specified debug-level; see slapd(8) for details.

-f slapd.conf

specify an alternative slapd.conf(5) file.

-F confdir

specify a config directory. If both -f and -F are specified, the config file will be read and converted to config directory format and written to the specified directory. If neither option is specified, an attempt to read the default config directory will be made before trying to use the default config file. If a valid config directory exists then the default config file is ignored.

-N

only output a normalized form of the DN, suitable to be used in a normalization tool; incompatible with -P.

-o option[=value]

Specify an option with a(n optional) value. Possible generic options/values are:

```
              syslog=<subsystems>  (see `-s' in slapd(8))

              syslog-level=<level> (see `-S' in slapd(8))

              syslog-user=<user>   (see `-l' in slapd(8))
```

-P

only output a prettified form of the DN, suitable to be used in a check and beautification tool; incompatible with -N.

-v

enable verbose mode.

## EXAMPLES
To check a DN give the command:

```
	/usr/sbin/slapdn -f //etc/openldap/slapd.conf -v DN
```

## SEE ALSO
ldap(3), slapd(8), slaptest(8)

"OpenLDAP Administrator's Guide" (http://www.OpenLDAP.org/doc/admin/)

## ACKNOWLEDGEMENTS
OpenLDAP Software is developed and maintained by The OpenLDAP Project <http://www.openldap.org/>. OpenLDAP Software is derived from the University of Michigan LDAP 3.3 Release.


slapindex

title: slapindex(8)

summary: Reindex entries in a SLAPD database

text:
# slapindex(8)

## NAME
slapindex - Reindex entries in a SLAPD database

## SYNOPSIS
/usr/sbin/slapindex [-b suffix] [-c] [-d debug-level] [-f slapd.conf] [-F confdir] [-g] [-n dbnum] [-o option[=value]] [-q] [-t] [-v] [attr[...]]

## DESCRIPTION
Slapindex is used to regenerate slapd(8) indices based upon the current contents of a database. It opens the given database determined by the database number or suffix and updates the indices for all values of all attributes of all entries. If a list of specific attributes is provided on the command line, only the indices for those attributes will be regenerated. Databases configured as subordinate of this one are also re-indexed, unless -g is specified.

All files eventually created by slapindex will belong to the identity slapindex is run as, so make sure you either run slapindex with the same identity slapd(8) will be run as (see option -u in slapd(8)), or change file ownership before running slapd(8).

## OPTIONS
-b suffix

Use the specified suffix to determine which database to generate output for. By default, the first database that supports the requested operation is used. The -b cannot be used in conjunction with the -n option.

-c

enable continue (ignore errors) mode.

-d debug-level

enable debugging messages as defined by the specified debug-level; see slapd(8) for details.

-f slapd.conf

specify an alternative slapd.conf(5) file.

-F confdir

specify a config directory. If both -f and -F are specified, the config file will be read and converted to config directory format and written to the specified directory. If neither option is specified, an attempt to read the default config directory will be made before trying to use the default config file. If a valid config directory exists then the default config file is ignored.

-g

disable subordinate gluing. Only the specified database will be processed, and not its glued subordinates (if any).

-n dbnum

Generate output for the dbnum-th database listed in the configuration file. The config database slapd-config(5), is always the first database, so use -n 0 The -n cannot be used in conjunction with the -b option.

-o option[=value]

Specify an option with a(n optional) value. Possible generic options/values are:

```
              syslog=<subsystems>  (see `-s' in slapd(8))

              syslog-level=<level> (see `-S' in slapd(8))

              syslog-user=<user>   (see `-l' in slapd(8))
```

-q

enable quick (fewer integrity checks) mode. Performs no consistency checks when writing the database. Improves indexing time, however the database will most likely be unusable if any errors or interruptions occur.

-t

enable truncate mode. Truncates (empties) an index database before indexing any entries. May only be used with back-mdb.

-v

enable verbose mode.

## LIMITATIONS
Your slapd(8) should not be running (at least, not in read-write mode) when you do this to ensure consistency of the database.

This command provides ample opportunity for the user to obtain and drink their favorite beverage.

## EXAMPLES
To reindex your SLAPD database, give the command:

```
	/usr/sbin/slapindex
```

To regenerate the index for only a specific attribute, e.g. "uid", give the command:

```
	/usr/sbin/slapindex uid
```

## SEE ALSO
ldap(3), ldif(5), slapadd(8), ldapadd(1), slapd(8)

"OpenLDAP Administrator's Guide" (http://www.OpenLDAP.org/doc/admin/)

## ACKNOWLEDGEMENTS
OpenLDAP Software is developed and maintained by The OpenLDAP Project <http://www.openldap.org/>. OpenLDAP Software is derived from the University of Michigan LDAP 3.3 Release.


slapmodify

title: slapmodify(8)

summary: Modify entries in a SLAPD database

text:
# slapmodify(8)

## NAME
slapmodify - Modify entries in a SLAPD database

## SYNOPSIS
/usr/sbin/slapmodify [-b suffix] [-c] [-d debug-level] [-f slapd.conf] [-F confdir] [-g] [-j lineno] [-l ldif-file] [-n dbnum] [-o option[=value]] [-q] [-s] [-S SID] [-u] [-v] [-w]

## DESCRIPTION
Slapmodify is used to apply modifications specified in LDAP Directory Interchange Format (LDIF) to a slapd(8) database. It opens the given database determined by the database number or suffix and performs modifications corresponding to the provided LDIF to the database. Databases configured as subordinate of this one are also updated, unless -g is specified. The LDIF input is read from standard input or the specified file.

All files eventually created by slapmodify will belong to the identity slapmodify is run as, so make sure you either run slapmodify with the same identity slapd(8) will be run as (see option -u in slapd(8)), or change file ownership before running slapd(8).

Note: slapmodify will also perform the relevant indexing whilst modifying the database if any are configured. For specific details, please see slapindex(8).

## OPTIONS
-b suffix

Use the specified suffix to determine which database to add entries to. The -b cannot be used in conjunction with the -n option.

-c

enable continue (ignore errors) mode.

-d debug-level

enable debugging messages as defined by the specified debug-level; see slapd(8) for details.

-f slapd.conf

specify an alternative slapd.conf(5) file.

-F confdir

specify a config directory. If both -f and -F are specified, the config file will be read and converted to config directory format and written to the specified directory. If neither option is specified, an attempt to read the default config directory will be made before trying to use the default config file. If a valid config directory exists then the default config file is ignored. If dry-run mode is also specified, no conversion will occur.

-g

disable subordinate gluing. Only the specified database will be processed, and not its glued subordinates (if any).

-j lineno

Jump to the specified line number in the LDIF file before processing any entries. This allows a modification that was aborted due to errors in the input LDIF to be resumed after the errors are corrected.

-l ldif-file

Read LDIF from the specified file instead of standard input.

-n dbnum

Perform changes on the dbnum-th database listed in the configuration file. The -n cannot be used in conjunction with the -b option. To manipulate the config database slapd-config(5), use -n 0 as it is always the first database. It must physically exist on the filesystem prior to this, however.

-o option[=value]

Specify an option with a(n optional) value. Possible generic options/values are:

```
              syslog=<subsystems>  (see `-s' in slapd(8))

              syslog-level=<level> (see `-S' in slapd(8))

              syslog-user=<user>   (see `-l' in slapd(8))

              schema-check={yes|no}

              value-check={yes|no}

The schema-check option toggles schema checking (default on);
the value-check option toggles value checking (default off).
The latter is incompatible with -q.
```

-q

```
enable quick (fewer integrity checks) mode.  Does fewer consistency checks
on the input data, and no consistency checks when writing the database.
Improves the run time but if any errors or interruptions occur the resulting
database will be unusable.
```

-s

```
disable schema checking.  This option is intended to be used when
manipulating databases containing special objects, such as fractional
objects on a partial replica.  Creating normal objects which do not
conform to schema may result in unexpected and ill behavior.
```

-S SID

```
Server ID to use in generated entryCSN.  Also used for contextCSN
if -w is set as well.  Defaults to 0.
```

-u

```
enable dry-run (don't write to backend) mode.
```

-v

```
enable verbose mode.
```

-w

```
write syncrepl context information.
After all entries are added, the contextCSN
will be updated with the greatest CSN in the database.
```

## LIMITATIONS
Your slapd(8) should not be running when you do this to ensure consistency of the database.

Not all backends support all types of modification, modrdn changetype in particular is not implemented for any of the current backends.

slapmodify may not provide naming or schema checks. It is advisable to use ldapmodify(1) when possible.

## EXAMPLES
To make modifications specified in file ldif into your slapd(8) database give the command:

```
	/usr/sbin/slapmodify -l ldif
```

## SEE ALSO
ldap(3), ldif(5), slapcat(8), slapadd(8), slapindex(8), ldapmodify(1), slapd(8)

"OpenLDAP Administrator's Guide" (http://www.OpenLDAP.org/doc/admin/)

## ACKNOWLEDGEMENTS
OpenLDAP Software is developed and maintained by The OpenLDAP Project <http://www.openldap.org/>. OpenLDAP Software is derived from the University of Michigan LDAP 3.3 Release.


slappasswd

title: slappasswd(8)

summary: OpenLDAP password utility

text:
# slappasswd(8)

## NAME
slappasswd - OpenLDAP password utility

## SYNOPSIS
/usr/sbin/slappasswd [-v] [-u] [-g|-s secret|-T file] [-h hash] [-c salt-format] [-n] [-o option[=value]]

## DESCRIPTION
Slappasswd is used to generate an userPassword value suitable for use with ldapmodify(1), slapd.conf(5) rootpw configuration directive or the slapd-config(5) olcRootPW configuration directive.

## OPTIONS
-v

enable verbose mode.

-u

Generate RFC 2307 userPassword values (the default). Future versions of this program may generate alternative syntaxes by default. This option is provided for forward compatibility.

-s secret

The secret to hash. If this, -g and -T are absent, the user will be prompted for the secret to hash. -s, -g and -T are mutually exclusive flags.

-g

Generate the secret. If this, -s and -T are absent, the user will be prompted for the secret to hash. -s, -g and -T are mutually exclusive flags. If this is present, {CLEARTEXT} is used as scheme. -g and -h are mutually exclusive flags.

-T "file"

Hash the contents of the file. If this, -g and -s are absent, the user will be prompted for the secret to hash. -s, -g and -T and mutually exclusive flags.

-h "scheme"

If -h is specified, one of the following RFC 2307 schemes may be specified: {CRYPT}, {MD5}, {SMD5}, {SSHA}, and {SHA}. The default is {SSHA}. Note that scheme names may need to be protected, due to { and }, from expansion by the user's command interpreter.

{SHA} and {SSHA} use the SHA-1 algorithm (FIPS 160-1), the latter with a seed.

{MD5} and {SMD5} use the MD5 algorithm (RFC 1321), the latter with a seed.

{CRYPT} uses the crypt(3).

{CLEARTEXT} indicates that the new password should be added to userPassword as clear text. Unless {CLEARTEXT} is used, this flag is incompatible with option -g.

-c crypt-salt-format

Specify the format of the salt passed to crypt(3) when generating {CRYPT} passwords. This string needs to be in sprintf(3) format and may include one (and only one) %s conversion. This conversion will be substituted with a string of random characters from [A-Za-z0-9./]. For example, '%.2s' provides a two character salt and '$1$%.8s' tells some versions of crypt(3) to use an MD5 algorithm and provides 8 random characters of salt. The default is '%s', which provides 31 characters of salt.

-n

Omit the trailing newline; useful to pipe the credentials into a command.

-o option[=value]

Specify an option with a(n optional) value. Possible generic options/values are:

```
              module-path=<pathspec> (see `modulepath' in slapd.conf(5))

              module-load="<filename> [<arguments>...]" (see `moduleload' in slapd.conf(5))

You can load a dynamically loadable password hash module by
using this option.
```

## LIMITATIONS
The practice of storing hashed passwords in userPassword violates Standard Track (RFC 4519) schema specifications and may hinder interoperability. A new attribute type, authPassword, to hold hashed passwords has been defined (RFC 3112), but is not yet implemented in slapd(8).

It should also be noted that the behavior of crypt(3) is platform specific.

## SECURITY CONSIDERATIONS
Use of hashed passwords does not protect passwords during protocol transfer. TLS or other eavesdropping protections should be in-place before using LDAP simple bind.

The hashed password values should be protected as if they were clear text passwords.

## SEE ALSO
ldappasswd(1), ldapmodify(1), slapd(8), slapd.conf(5), slapd-config(5), RFC 2307, RFC 4519, RFC 3112

"OpenLDAP Administrator's Guide" (http://www.OpenLDAP.org/doc/admin/)

## ACKNOWLEDGEMENTS
OpenLDAP Software is developed and maintained by The OpenLDAP Project <http://www.openldap.org/>. OpenLDAP Software is derived from the University of Michigan LDAP 3.3 Release.


slapschema

title: slapschema(8)

text:
# slapschema(8)

## NAME
slapschema - SLAPD in-database schema checking utility

## SYNOPSIS
/usr/sbin/slapschema [-afilter] [-bsuffix] [-c] [-ddebug-level] [-fslapd.conf] [-Fconfdir] [-g] [-HURI] [-lerror-file] [-ndbnum] [-ooption[=value]] [-ssubtree-dn] [-v]

## DESCRIPTION
Slapschema is used to check schema compliance of the contents of a slapd(8) database. It opens the given database determined by the database number or suffix and checks the compliance of its contents with the corresponding schema. Errors are written to standard output or the specified file. Databases configured as subordinate of this one are also output, unless -g is specified.

Administrators may need to modify existing schema items, including adding new required attributes to objectClasses, removing existing required or allowed attributes from objectClasses, entirely removing objectClasses, or any other change that may result in making perfectly valid entries no longer compliant with the modified schema. The execution of the slapschema tool after modifying the schema can point out inconsistencies that would otherwise surface only when inconsistent entries need to be modified.

The entry records are checked in database order, not superior first order. The entry records will be checked considering all (user and operational) attributes stored in the database. Dynamically generated attributes (such as subschemaSubentry) will not be considered.

## OPTIONS
-a filter

Only check entries matching the asserted filter. For example slapschema -a \

"(!(entryDN:dnSubtreeMatch:=ou=People,dc=example,dc=com))"

will check all but the "ou=People,dc=example,dc=com" subtree of the "dc=example,dc=com" database. Deprecated; use -H ldap:///???(filter) instead.

-b suffix

Use the specified suffix to determine which database to check. By default, the first database that supports the requested operation is used. The -b cannot be used in conjunction with the -n option.

-c

Enable continue (ignore errors) mode.

-d debug-level

Enable debugging messages as defined by the specified debug-level; see slapd(8) for details.

-f slapd.conf

Specify an alternative slapd.conf(5) file.

-F confdir

specify a config directory. If both -f and -F are specified, the config file will be read and converted to config directory format and written to the specified directory. If neither option is specified, an attempt to read the default config directory will be made before trying to use the default config file. If a valid config directory exists then the default config file is ignored.

-g

disable subordinate gluing. Only the specified database will be processed, and not its glued subordinates (if any).

-H URI

use dn, scope and filter from URI to only handle matching entries.

-l error-file

Write errors to specified file instead of standard output.

-n dbnum

Check the dbnum-th database listed in the configuration file. The config database slapd-config(5), is always the first database, so use -n 0 The -n cannot be used in conjunction with the -b option.

-o option[=value]

Specify an option with a(n optional) value. Possible generic options/values are:

```
              syslog=<subsystems>  (see `-s' in slapd(8))

              syslog-level=<level> (see `-S' in slapd(8))

              syslog-user=<user>   (see `-l' in slapd(8))
```

-s subtree-dn

Only check entries in the subtree specified by this DN. Implies -b subtree-dn if no -b nor -n option is given. Deprecated; use -H ldap:///subtree-dn instead.

-v

Enable verbose mode.

## LIMITATIONS
For some backend types, your slapd(8) should not be running (at least, not in read-write mode) when you do this to ensure consistency of the database. It is always safe to run slapschema with the slapd-mdb(5), and slapd-null(5) backends.

## EXAMPLES
To check the schema compliance of your SLAPD database after modifications to the schema, and put any error in a file called errors.ldif, give the command:

```
	/usr/sbin/slapschema -l errors.ldif
```

## SEE ALSO
ldap(3), ldif(5), slapd(8)

"OpenLDAP Administrator's Guide" (http://www.OpenLDAP.org/doc/admin/)

## ACKNOWLEDGEMENTS
OpenLDAP Software is developed and maintained by The OpenLDAP Project <http://www.openldap.org/>. OpenLDAP Software is derived from the University of Michigan LDAP 3.3 Release.


slaptest

title: slaptest(8)

text:
# slaptest(8)

## NAME
slaptest - Check the suitability of the OpenLDAP slapd configuration

## SYNOPSIS
/usr/sbin/slaptest [-d debug-level] [-f slapd.conf] [-F confdir] [-ndbnum] [-o option[=value]] [-Q] [-u] [-v]

## DESCRIPTION
Slaptest is used to check the conformance of the slapd(8) configuration. It opens the slapd.conf(5) configuration file or the slapd-config(5) backend, and parses it according to the general and the backend-specific rules, checking its sanity.

## OPTIONS
-d debug-level

enable debugging messages as defined by the specified debug-level; see slapd(8) for details.

-f slapd.conf

specify an alternative slapd.conf(5) file.

-F confdir

specify a config directory. If both -f and -F are specified, the config file will be read and converted to config directory format and written to the specified directory. If neither option is specified, slaptest will attempt to read the default config directory before trying to use the default config file. If a valid config directory exists then the default config file is ignored. If dry-run mode is also specified, no conversion will occur.

-n dbnum

Just open and test the dbnum-th database listed in the configuration file. To only test the config database slapd-config(5), use -n 0 as it is always the first database.

-o option[=value]

Specify an option with a(n optional) value. Possible generic options/values are:

```
              syslog=<subsystems>  (see `-s' in slapd(8))

              syslog-level=<level> (see `-S' in slapd(8))

              syslog-user=<user>   (see `-l' in slapd(8))
```

-Q

Be extremely quiet: only the exit code indicates success (0) or not (any other value).

-u

enable dry-run mode (i.e. don't fail if databases cannot be opened, but config is fine).

-v

enable verbose mode.

## EXAMPLES
To check a slapd.conf(5) give the command:

```
	/usr/sbin/slaptest -f //etc/openldap/slapd.conf -v
```

## SEE ALSO
ldap(3), slapd(8), slapdn(8)

"OpenLDAP Administrator's Guide" (http://www.OpenLDAP.org/doc/admin/)

## ACKNOWLEDGEMENTS
OpenLDAP Software is developed and maintained by The OpenLDAP Project <http://www.openldap.org/>. OpenLDAP Software is derived from the University of Michigan LDAP 3.3 Release.


ntpd

package: openntpd

title: ntpd(8)

summary: Network Time Protocol daemon

text:
# ntpd(8)

## NAME
ntpd - "Network Time Protocol daemon"

## SYNOPSIS
ntpd [-dSs] [-f file]

## DESCRIPTION
The ntpd daemon synchronizes the local clock to one or more remote NTP servers, and can also act as an NTP server itself, redistributing the local time. It implements the Simple Network Time Protocol version 4, as described in RFC 2030, and the Network Time Protocol version 3, as described in RFC 1305.

ntpd uses the adjtime(2) system call to correct the local system time without causing time jumps. Adjustments larger than 128ms are logged using syslog(3). The threshold value is chosen to avoid having local clock drift thrash the log files. Should ntpd be started with the -d option, all calls to adjtime(2) will be logged.

When ntpd starts up, it reads settings from a configuration file, typically ntpd.conf(5).

The options are as follows:

-d

Do not daemonize. If this option is specified, ntpd will run in the foreground and log to stderr.

-f file

Use file as the configuration file, instead of the default /etc/ntpd.conf.

-S

Do not set the time immediately at startup.

-s

Set the time immediately at startup if the local clock is off by more than 180 seconds. Allows for a large time correction, eliminating the need to run rdate(8) before starting . This is the default.

## FILES
/etc/ntpd.conf

default ntpd configuration file

## SEE ALSO
date(1), adjtime(2), ntpd.conf(5), rdate(8), timed(8)

, Network Time Protocol (Version 3), March 1992.

, Simple Network Time Protocol (SNTP) Version 4, October 1996.

## HISTORY
The ntpd program first appeared in OpenBSD 3.6 .


openrazer-daemon

package: openrazer-daemon

title: openrazer-daemon(8)

text:
# openrazer-daemon(8)

## NAME
openrazer-daemon - Daemon to manage Razer devices in userspace

## SYNOPSIS
openrazer-daemon [options...]

## DESCRIPTION
openrazer-daemon is a userspace service which is designed to be an intermediary between userspace programs and the Razer drivers. It will provide some higher level functions to allow similar operation to the Windows Razer Synapse program. This service is designed to be started by xdg-autostart as a session service.

The service has the functionality to sync effects between multiple devices, perform on-the-fly macro recording and playback and reimplements the FN+Keys logic so they work when macro_keys are enabled. The service can also perform various ripple effects and turn off the devices when the screensaver is active.

Note, that all paths shown as defaults, eg ~/.local/share/ or ~/.config/ can be changed with XDG Base Directory specification variables: $XDG_CONFIG_HOME, $XDG_DATA_HOME and $XDG_RUNTIME_DIR.

## OPTIONS
-v, --verbose

Enable logging of DEBUG messages.

-F, --foreground

Run the daemon in the foreground and don't fork. This also enables sending the log output to stdout (in addition to the log file).

-r, --respawn

Stop any running daemon first (if one is running) before starting.

-s, --stop

Gracefully stop the running daemon.

--as-root

Allow the daemon to be started as root.

--config=config_file

Specifies the location of the config file. If this is not provided it will default to ~/.config/openrazer/razer.conf and create it if needed from the example config.

--persistence=persistence_file

Specifies the location of the persistence file. This will be created if non-existent. This file will store device states so they persist between reboots.

--run-dir=run_directory

Tells the daemon what directory is its run directory, the directory it will change to once started. It will default to $XDG_RUNTIME_DIR, if not set it falls back to ~/.local/share/openrazer/.

--log-dir=log_directory

This argument decides where the log directory will be, the daemon itself will handle log rotation as it's a user session service. The daemon will default to ~/.local/share/openrazer/logs/ for its log directory.

--test-dir=test_dir

If provided the daemon will operate in test-driver mode in which it exposes devices that aren't physically connected. Use scripts/create_fake_device.py or scripts/setup_fake_devices.sh from the source repository to create the directory structure.

## DOCUMENTATION
The full and most up-to-date documentation can be found on our GitHub repository at https://github.com/openrazer/openrazer.

## SEE ALSO
razer.conf(5)


resolvconf

package: openresolv

title: resolvconf(8)

text:
# resolvconf(8)

## NAME
resolvconf — a framework for managing multiple DNS configurations

## SYNOPSIS
resolvconf

-I

resolvconf

[-m metric] [-p] [-x] -a interface[.protocol] <file

resolvconf

-C pattern

resolvconf

-c pattern

resolvconf

[-f] -d interface[.protocol]

resolvconf

[-x] -iLl pattern

resolvconf

-u

resolvconf

--version

## DESCRIPTION
resolvconf manages resolv.conf(5) files from multiple sources, such as DHCP and VPN clients. Traditionally, the host runs just one client and that updates /etc/resolv.conf. More modern systems frequently have wired and wireless interfaces and there is no guarantee both are on the same network. With the advent of VPN and other types of networking daemons, many things now contend for the contents of /etc/resolv.conf.

resolvconf solves this by letting the daemon send their resolv.conf(5) file to resolvconf via stdin(4) with the argument -a interface[.protocol] instead of the filesystem. resolvconf then updates /etc/resolv.conf as it thinks best. When a local resolver other than libc is installed, such as dnsmasq(8) or named(8), then resolvconf will supply files that the resolver should be configured to include.

resolvconf assumes it has a job to do. In some situations resolvconf needs to act as a deterrent to writing to /etc/resolv.conf. Where this file cannot be made immutable or you just need to toggle this behaviour, resolvconf can be disabled by adding resolvconf=NO to resolvconf.conf(5).

resolvconf can mark an interfaces resolv.conf as private. This means that the name servers listed in that resolv.conf are only used for queries against the domain/search listed in the same file. This only works when a local resolver other than libc is installed. See resolvconf.conf(5) for how to configure resolvconf to use a local name server and how to remove the private marking.

resolvconf can mark an interfaces resolv.conf as exclusive. Only the latest exclusive interface is used for processing, otherwise all are.

When an interface goes down, it should then call resolvconf with -d interface.* arguments to delete the resolv.conf file(s) for all the protocols on the interface. For systems that support the concept of persisting configuration when the carrier goes down, then it should instead call resolvconf with -C interface.* arguments to deprecate the matching interfaces and -c interface.* to activate the matching interfaces when the carrier comes up. This only affects the order in which interfaces are processed.

Here are some options for the above commands:-

-f

Ignore non existent interfaces. Only really useful for deleting interfaces.

-m metric

Set the metric of the interface when adding it, default of 0. Lower metrics take precedence. This affects the default order of interfaces when listed.

-p

Marks the interface resolv.conf as private.

-x

Mark the interface resolv.conf as exclusive when adding, otherwise only use the latest exclusive interface.

resolvconf has some more commands for general usage:-

-i pattern

List the interfaces and protocols, optionally matching pattern, we have resolv.conf files for.

-L pattern

List the resolv.conf files we have, post-processed by the resolvconf.conf(5) configuration. If pattern is specified then we list the files for the interfaces and protocols that match it.

-l pattern

List the resolv.conf files we have. If pattern is specified then we list the files for the interfaces and protocols that match it.

-u

Force resolvconf to update all its subscribers. resolvconf does not update the subscribers when adding a resolv.conf that matches what it already has for that interface.

--version

Echo the resolvconf version to stdout.

resolvconf also has some commands designed to be used by its subscribers and system startup:-

-I

Initialise the state directory /run/resolvconf. This only needs to be called if the initial system boot sequence does not automatically clean it out; for example the state directory is moved somewhere other than /var/run. If used, it should only be called once as early in the system boot sequence as possible and before resolvconf is used to add interfaces.

-R

Echo the command used to restart a service.

-r service

If the service is running then restart it. If the service does not exist or is not running then zero is returned, otherwise the result of restarting the service.

-v

Echo variables DOMAINS, SEARCH and NAMESERVERS so that the subscriber can configure the resolver easily.

-V

Same as -v except that only the information configured in resolvconf.conf(5) is set.

## INTERFACE ORDERING
For resolvconf to work effectively, it has to process the resolv.confs for the interfaces in the correct order. resolvconf first processes interfaces from the interface_order list, then interfaces without a metric and that match the dynamic_order list, then interfaces with a metric in order and finally the rest in the operating systems lexical order. See resolvconf.conf(5) for details on these lists.

## PROTOCOLS
Here are some suggested protocol tags to use for each resolv.conf file registered on an interface:-

dhcp

Dynamic Host Configuration Protocol. Initial versions of resolvconf did not recommend a protocol tag be appended to the interface name. When the protocol is absent, it is assumed to be the DHCP protocol.

ppp

Point-to-Point Protocol.

ra

IPv6 Router Advertisement.

dhcp6

Dynamic Host Configuration Protocol, version 6.

## IMPLEMENTATION NOTES
If a subscriber has the executable bit then it is executed otherwise it is assumed to be a shell script and sourced into the current environment in a subshell. This is done so that subscribers can remain fast, but are also not limited to the shell language.

Portable subscribers should not use anything outside of /bin and /sbin because /usr and others may not be available when booting. Also, it would be unwise to assume any shell specific features.

## ENVIRONMENT
IF_METRIC

If the -m option is not present then we use IF_METRIC for the metric.

IF_PRIVATE

Marks the interface resolv.conf as private.

IF_EXCLUSIVE

Marks the interface resolv.conf as exclusive.

## FILES
/etc/resolv.conf.bak

Backup file of the original resolv.conf.

/etc/resolvconf.conf

Configuration file for resolvconf.

/lib/resolvconf

Directory of subscribers which are run every time resolvconf adds, deletes or updates.

/etc/hooks/resolv.conf.d

Directory of subscribers which are run after the libc subscriber is run.

/run/resolvconf

State directory for resolvconf.

## SEE ALSO
resolver(3), stdin(4), resolv.conf(5), resolvconf.conf(5)

## HISTORY
This implementation of resolvconf is called openresolv and is fully command line compatible with Debian's resolvconf, as written by Thomas Hood.

## AUTHORS
Roy Marples <roy@marples.name>

## BUGS
Please report them to http://roy.marples.name/projects/openresolv

resolvconf does not validate any of the files given to it.

When running a local resolver other than libc, you will need to configure it to include files that resolvconf will generate. You should consult resolvconf.conf(5) for instructions on how to configure your resolver.


oscap-docker

package: openscap-containers

title: oscap-docker(8)

text:
# oscap-docker(8)

## NAME
oscap-docker - Tool for running oscap within docker container or image

## DESCRIPTION
oscap-docker tool can asses vulnerabilities or security compliance of running Docker containers or cold Docker images. OpenSCAP tool oscap(8) is used underneath. Definition of vulnerabilities (CVE stream) is downloaded from product vendor.

### Compliance scan of Docker image
Usage: oscap-docker image IMAGE_NAME OSCAP_ARGUMENT [OSCAP_ARGUMENT...]

Run any OpenSCAP oscap(8) command within chroot of mounted docker image. Learn more about arguments in oscap(8) man page.

### Compliance scan of Docker container
Usage: oscap-docker container CONTAINER_NAME OSCAP_ARGUMENT [OSCAP_ARGUMENT...]

Run any OpenSCAP oscap(8) command within chroot of mounted docker container. Result of this command may differ from scanning just an image due to defined mount points.

### Vulnerability scan of Docker image
Usage: oscap-docker image-cve IMAGE_NAME [--results oval-results-file.xml [--report report.html]]

Attach docker image, determine OS variant/version, download CVE stream applicable to the given OS, and finally run vulnerability scan.

### Vulnerability scap of Docker container
Usage: oscap-docker container-cve CONTAINER_NAME [--results oval-results-file.xml [--report report.html]]

Chroot to running container, determine OS variant/version, download CVE stream applicable to the given OS and finally run a vulnerability scan.

In order to use different oscap(8) binary pass it like --oscap=<path/to/oscap>, as the first argument.

## SECURITY POLICIES
SCAP-Security-Guide package contains multiple configuration policies.

Red Hat CVE stream can be found online - https://www.redhat.com/security/data/metrics/

## REPORTING BUGS

```
Please report bugs using https://github.com/OpenSCAP/openscap/issues
```

## AUTHORS

```
Šimon Lukašík <slukasik@redhat.com>
```