HP-UX Directory Server 8.1 administrator guide
• keyword indicates the type of target.
• equal (=) indicates that the target is the object specified in the expression, and not equal
(!=) indicates the target is not the object specified in the expression.
• expression identifies the target.
The quotation marks ("") around expression are required. What you use for expression is
dependent upon the keyword that you supply.
Table 6-1 “LDIF target keywords” lists each keyword and the associated expressions.
Table 6-1 LDIF target keywords
Wildcard allowedValid expressionsKeyword
Yes
ldap:///distinguished_name
target
Yes
attribute
targetattr
Yes
LDAP_filter
targetfilter
Yes
LDAP_operation:LDAP_filter
targetattrfilters
In all cases, you must keep in mind that when you place an ACI on an entry, if it is not a leaf
entry, the ACI also applies to all entries below it. For example, if you target the entry
ou=accounting,dc=example,dc=com, the permissions you set apply to all entries in the
accounting branch of the example.com tree.
As a counter example, if you place an ACI on the ou=accounting,dc=example,dc=com
entry, you cannot target the uid=sarette,ou=people,dc=example,dc=com entry because
it is not located under the accounting tree.
Be wary of using != when specifying an attribute to deny. ACLs are treated as a logical OR,
which means that if you created two ACLs as shown below, the result allows all values of the
target attribute.
acl1: ( target=...)( targetattr!=a )(version 3.0; acl "name";allow (...)..
acl2: ( target=...)( targetattr!=b )(version 3.0; acl "name";allow (...)..
The first ACL (acl1) allows b and the second ACL (acl2) allows a. The result of these two
ACLs is the same as the one resulting from using an ACL of the following form:
acl3: ( targetattr="*" ) allow (...) ...
In the second example, nothing is denied, which could give rise to security problems.
When you want to deny access to a particular attribute, use deny in the permissions clause rather
than using allow with ( targetattr != value ). For example, usages such as these are
recommended:
acl1: ( target=...)( targetattr=a )(version 3.0; acl "name";deny (...)..
acl2: ( target=...)( targetattr=b )(version 3.0; acl "name";deny (...)..
6.3.2.1 Targeting a directory entry
To target a directory entry (and the entries below it), you must use the target keyword. The
target keyword can accept a value of the following format:
target="ldap:///distinguished_name
This identifies the distinguished name of the entry to which the access control rule applies. For
example:
(target = "ldap:///uid=bjensen,dc=example,dc=com")
6.3 Creating ACIs manually 237