1.4 Naming Attributes

Objects are identified by their own names and the names of their parent objects. An object’s name is called its partial name or Relative Distinguished Name (RDN). For example, a user’s partial name might be the following:

The full name of an object, which includes the names of its parent objects, is called the complete name or Distinguished Name (DN). For example, a user’s complete name may be the following:

An object’s DN is determined by all the objects to which it is subordinate, but only the immediate parent’s object class must appear in the object’s containment class list. Hence, structure rules effectively control the formation of Distinguished Names.

Naming attributes are part of the Structure Rules of the schema and are listed under the Named By headings in the object class definitions found in Novell Object Class Extensions.

Naming attributes have the following characteristics:

See Also:

1.4.1 Naming Attribute Rules

Each class has one or more attributes designated as naming attributes. These attributes can be either mandatory or optional attributes, but at least one must be given a value when creating an object of that class. If the only naming attribute is declared as optional, it is, in effect, mandatory.

Naming attributes specify the rules for the partial name of the object. For example, Organization objects are named by the O (Organization Name) attribute. This attribute is the only attribute value that can appear in an organizational entry’s partial name.

1.4.2 Multi-Valued Naming Attributes

Naming attributes can be multi-valued; in other words, more than one name (value) can be added to the naming attribute. For example, an organization can have both “Testing” and “Engineering” as values for the O (Organization Name) attribute. However, only the first value is used in search operations.

Some object class definitions specify multiple naming attributes. For example, the Locality object class is named by the L (Locality Name) and S (State or Province Name) attributes. Thus, an RDN for locality can include just an L (Locality Name) attribute, just an S (State or Province Name) attribute, or both attributes. For example, the name for the Provo, Utah locality could be

  • L=Provo

  • S=Utah

  • L=Provo + S=Utah

The last example uses both attributes with a plus sign (+) to indicate where the second attribute’s value begins. When the type specifiers (in this case, L and S) are used as shown, the name is referred to as a typed name. A typeless name has the following format: “Provo+Utah”.

1.4.3 Shareable Naming Attributes

A naming attribute does not necessarily reflect the class an object belongs to. Many classes, such as Computer, User, and Server, are named by their CN (Common Name) attribute. In such names, the naming attribute itself does not indicate which class the object belongs to, but the value of the naming attribute might suggest the nature of the object. However, some naming attributes are closely tied to specific classes. For example, the C (Country Name) attribute is used to name only Country objects.

1.4.4 Naming Attribute Inheritance

Naming attributes for effective classes must follow the inheritance rules. Effective classes can inherit naming attributes only if the naming attributes of the super classes are identical and do not conflict. If they are different and therefore ambiguous, the effective class must define its own naming attributes. Noneffective classes may have ambiguous naming attributes, but they often define the naming attributes so subordinate objects can inherit them. For example, the Server class defines naming attributes that are inherited by the AFP Server, NCP Server, CommExec, Messaging Server, and Print Server classes.