userPassword
attribute.
Note, too, that most LDAP clients go to some lengths to hide the bind DN from the user because DNs are often long strings that are hard to remember and easy to mistype. When a client attempts to hide the bind DN from the user, it uses a bind algorithm such as the following:
Both the directory server gateway and the administration server Users and Groups gateway use this type of authentication mechanism to bind the user to the directory. In addition, any SuiteSpot server that is using the directory for user-authentication purposes also follows this algorithm.
userPassword
attribute-data pair and the user does not provide a password on the bind attempt.
However, the directory server fails the bind attempt if the user authenticates using a bind entry that does not include a userPassword
attribute-data pair and the user provides any non-null string for the password.
Usually directory administrators only allow anonymous access for read, search, and compare privileges (not for write, add, delete, or selfwrite). Also, the access is usually limited to a subset of attributes that contain information generally useful across the enterprise, such as person names, telephone numbers, email addresses, and so forth. Anonymous access should never be allowed for more sensitive data such as government identification numbers (social security numbers in the US), home telephone numbers and addresses, salary information, and so forth.
The various privileges that you can set for the directory are described in "Permissions". For general advice for allowing or denying access to specific attributes, see "Setting Permissions".
Root DN Authentication
The root DN is the distinguished name for the privileged directory user. After authentication, the root DN has complete access to the database regardless of the access-controls in use on the database.
It is not required that a root DN be configured for the directory. In general, though, the root DN is configured when the directory server is configured. As a general rule, you should use your root DN to initially populate your database and set up access-controls for normal directory entries. As soon as you have configured at least one entry that has full access to the directory, then you should stop using the root DN for normal directory operations.
Warning If you configure a root DN at server installation time, you must also provide a root password. However, it is possible for the root password to be deleted fromFor more information on database usage and your directory server, see the Netscape Directory SDK Programmer's Guide.slapd.conf
by direct editing of the file. This can create operational problems with your server. Always be sure to provide a root password inslapd.conf
when you configure a root DN for your directory.
Precedence Rule If two permissions exist and are in conflict, the permission that denies access always takes precedence over the permission that grants access.For example, if you deny write permission at the directory's root level, and you make that permission applicable to everyone accessing the directory, then no user can write to the directory regardless of any other permissions that you may allow for a user. To allow a specific user write permissions to the directory, you have to restrict the scope of the original deny-for-write so that it does not include the user. Then you have to create an additional allow-for-write permission for the user in question. Because of this, and because by default users are denied access anyway, you should use deny permissions sparingly in order to avoid potential confusion.
uid
attribute. A better approach is to write two access rules that allow write access in the following ways:
country
, organization
, organizationalUnit
, inetOrgPerson
, or group
.
To simplify your ACL administration, try to group these rules together as much as possible. Since a rule generally applies to its target entry and to all that entry's children, it is best to place access-control rules on root points in the directory or on directory branch points, rather than scatter them across individual leaf (such as person) entries.
organizationalUnit
attribute that is set to Marketing.
One of the more powerful uses of filtered access-control rules is that you can use this feature to predefine types of access. For example, suppose your directory contains home address and telephone number information. Some people will want to publish this information, while others will want to be "unlisted." You can handle this situation by doing the following:
For more information on using LDAP search filters, and on using LDAP search filters with ACIs, see the Netscape Directory Server Administrator's Guide.
<target> <permission> <bind rule>Each of these parts of an ACI are:
"For the directory objectNote that<target>
, allow or deny<permission>
if the<bind rule>
is true."
<permission>
and <bind rule>
are set as a pair, and you can have multiple <permission>-<bind rule>
pairs for every target. This allows you to efficiently set multiple access-controls for any given target. For example:
<target>(<permission><bind rule>)(<permission><bind rule>)...
You can allow or deny the following permissions:
For example, the people object class structure contains dozens of total
attributes. If you want to allow a user to update just one or two of these
attributes, then write your ACI so that it allows write access for just those
few attributes. If, however, you want to allow a user to update all but one
or two attributes, then create the ACI so that it allows write access for
everything but a few named attributes.
Planning Your Groups
When you perform your data analysis, you make some basic decisions on what groups of people can read and write information. You should now formally identify all the groups that you need in your directory. As you formally identify and name your groups, make sure you document your decisions. Make sure you know the formal name of each group, the general permissions you want each group to have, and the people who you immediately will want to add to each group.
Note
While they are implemented in essentially the same way, there are two types of
groups that your directory will contain. One is used for identifying access-
control permissions for a defined set of people. Another is used for managing
mailing lists. This latter group typically uses the mailGroup
object class. Its
usage is not discussed in this manual.
For example, many directories commonly have an Administrator's group (SuiteSpot servers actually require this group for certain kinds of server administration. For more information, see Managing Netscape Servers). Usually the Administrator's group is granted complete access to the directory. By adding users to this group, you are granting those users full read, write, search, and compare privileges to the entire directory. Typically you will want this group to contain just a small number of users (3-10, depending on the size of your enterprise).
In addition to the Administrator's group, you may also want to create groups of users that have some, but not complete, write access to the directory. One such group may be Department Administrators. Some enterprises use Department Administrators to manage a subset of employee information, such as fax numbers, department numbers, and physical location information. By distributing these administration burdens to a select, identifiable group of people, you are make your directory easier to manage and ensure that you have data consistency at least at the department level.
Some other groups that you might need include:
Note There is no way to prevent people from bypassing this type of security by faking (spoofing) the IP address or DNS hostname that they are running from. Therefore, avoid relying only on physical points of access to determine access- control unless you are confident that your user community will not attempt to bypass your directory security policy.
Last Updated: 02/17/98 15:41:59