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.  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

do not fetch the entry from the database. In this case, if the entry does not exist, 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 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.  

Referenced By

slapd(8), slapd.access(5), slapd.conf(5), slapd-config(5).

2018/12/19 OpenLDAP 2.4.47