🧬Schemata
🔬Schema-Browser
inetOrgPerson
inetorgperson.schemaobjectclass ( 2.16.840.1.113730.3.2.2 NAME 'inetOrgPerson' DESC 'RFC2798: Internet Organizational Person' SUP organizationalPerson STRUCTURAL MAY ( audio $ businessCategory $ carLicense $ departmentNumber $ displayName $ employeeNumber $ employeeType $ givenName $ homePhone $ homePostalAddress $ initials $ jpegPhoto $ labeledURI $ mail $ manager $ mobile $ o $ pager $ photo $ roomNumber $ secretary $ uid $ userCertificate $ x500uniqueIdentifier $ preferredLanguage $ userSMIMECertificate $ userPKCS12 ) )
| OID | 2joint-iso-itu-t.16.840country US.1.113730Netscape.3.2Netscape-Objektklassen.2 |
| NAME | inetOrgPerson |
| DESC | RFC2798: Internet Organizational Person |
| SUP | organizationalPerson |
| STRUCTURAL | legt fest, was der Eintrag ist (genau eine Kette) |
| MAY | audio, businessCategory, carLicense, departmentNumber, displayName, employeeNumber, employeeType, givenName, homePhone, homePostalAddress, initials, jpegPhoto, labeledURI, mail, manager, mobile, o, pager, photo, roomNumber, secretary, uid, userCertificate, x500uniqueIdentifier, preferredLanguage, userSMIMECertificate, userPKCS12 |
🧬 Vererbung: von top bis inetOrgPerson
Jede Ebene erbt MUST und MAY aller Oberklassen. Klick auf ein Attribut öffnet seine Definition.
📚 Quellen: RFC 4512 – LDAP: Directory Information Models · RFC 4519 – LDAP: Schema for User Applications · RFC 2798 – Definition of the inetOrgPerson Object Class · RFC 2307 – An Approach for Using LDAP as a Network Information Service · Admin Guide: Schema Specification
📜Aufbau einer Definition
attributetype ( 2.5.4.3 ← OID
NAME ( 'cn' 'commonName' ) ← Namen (Aliase)
DESC 'RFC2256: common name(s) …' ← Beschreibung
SUP name ) ← erbt EQUALITY, SUBSTR, SYNTAX
objectclass ( 2.5.6.6
NAME 'person'
DESC 'RFC2256: a person'
SUP top STRUCTURAL ← Art der Klasse
MUST ( sn $ cn ) ← Pflicht
MAY ( userPassword $ telephoneNumber $ seeAlso $ description ) )attributetype/objectclass, in cn=config ist sie ein Wert von olcAttributeTypes/olcObjectClasses – slapd setzt dort ein {0} davor, um die Reihenfolge festzuhalten.name und damit cn haben keine ORDERING-Regel. Größer/kleiner-Filter ergeben für cn immer Undefined – ausprobieren im Filter-Labor.📚 Quellen: RFC 4512 – LDAP: Directory Information Models · slapd-config(5)
🔤Syntaxen
| Syntax | OID | Beispiel | Erklärung | passende Regeln |
|---|---|---|---|---|
| Directory String | 1.3.6.1.4.1.1466.115.121.1.15 | Müller & Söhne | UTF-8-Text, mindestens ein Zeichen. Der Normalfall für Namen und Beschreibungen. | caseIgnoreMatch · caseIgnoreOrderingMatch · caseIgnoreSubstringsMatch |
| IA5 String | 1.3.6.1.4.1.1466.115.121.1.26 | anna@example.org | Nur ASCII (International Alphabet 5) – z. B. mail, homeDirectory. | caseIgnoreIA5Match · caseIgnoreIA5SubstringsMatch |
| Printable String | 1.3.6.1.4.1.1466.115.121.1.44 | DE-4711 | Eingeschränkter Zeichensatz: Buchstaben, Ziffern, Leerzeichen und ' ( ) + , - . / : ? = | caseIgnoreMatch · caseIgnoreSubstringsMatch |
| Integer | 1.3.6.1.4.1.1466.115.121.1.27 | 10001 | Ganze Zahl in Dezimalschreibweise, ohne führende Nullen. | integerMatch · integerOrderingMatch |
| Boolean | 1.3.6.1.4.1.1466.115.121.1.7 | TRUE | Genau „TRUE“ oder „FALSE“ (Großbuchstaben). | booleanMatch |
| Distinguished Name | 1.3.6.1.4.1.1466.115.121.1.12 | uid=anna,ou=people,dc=example,dc=org | Ein DN in der Schreibweise nach RFC 4514 – z. B. member, manager. | distinguishedNameMatch |
| Generalized Time | 1.3.6.1.4.1.1466.115.121.1.24 | 20260929120000Z | Zeitpunkt JJJJMMTTHHMMSS mit Zeitzone (Z = UTC). | generalizedTimeMatch · generalizedTimeOrderingMatch |
| Numeric String | 1.3.6.1.4.1.1466.115.121.1.36 | 0815 4711 | Nur Ziffern und Leerzeichen. | numericStringMatch · numericStringOrderingMatch · numericStringSubstringsMatch |
| Telephone Number | 1.3.6.1.4.1.1466.115.121.1.50 | +49 30 23125 101 | Telefonnummer (E.123); Leerzeichen und Bindestriche zählen beim Vergleich nicht. | telephoneNumberMatch · telephoneNumberSubstringsMatch |
| Octet String | 1.3.6.1.4.1.1466.115.121.1.40 | (beliebige Bytes) | Beliebige Oktette – z. B. userPassword. Vergleich Byte für Byte. | octetStringMatch · octetStringOrderingMatch |
| OID | 1.3.6.1.4.1.1466.115.121.1.38 | 2.5.6.6 oder person | Objekt-Identifikator, numerisch oder als Name – z. B. objectClass. | objectIdentifierMatch |
| Postal Address | 1.3.6.1.4.1.1466.115.121.1.41 | Musterweg 1$12345 Musterstadt | Zeilen durch „$“ getrennt. | caseIgnoreListMatch · caseIgnoreListSubstringsMatch |
| Country String | 1.3.6.1.4.1.1466.115.121.1.11 | DE | Zweistelliger Ländercode nach ISO 3166. | – |
| JPEG | 1.3.6.1.4.1.1466.115.121.1.28 | (Bilddaten) | JPEG-Bild – in LDIF immer Base64 (::). | – |
| Name And Optional UID | 1.3.6.1.4.1.1466.115.121.1.34 | cn=Admins,dc=example,dc=org#'0101'B | DN mit optionaler Bitfolge – für uniqueMember. | uniqueMemberMatch |
📚 Quellen: RFC 4517 – LDAP: Syntaxes and Matching Rules
⚖️Matching-Regeln
Groß-/Kleinschreibung egal, Leerzeichen normalisiert (RFC 4518).
Sortierung ohne Beachtung der Groß-/Kleinschreibung.
Teilstring-Suche (*) ohne Groß-/Kleinschreibung.
Groß-/Kleinschreibung zählt.
Sortierung mit Groß-/Kleinschreibung.
Teilstring-Suche mit Groß-/Kleinschreibung.
Wie caseIgnoreMatch, aber für IA5-(ASCII-)Werte.
ASCII, Groß-/Kleinschreibung zählt.
Teilstring-Suche für IA5-Werte.
Zahlenvergleich (0010 ist keine gültige Integer-Syntax).
Numerische Ordnung – nötig für (uidNumber>=1000).
TRUE/FALSE.
Vergleich normalisierter DNs.
Name und numerische OID sind gleichwertig.
Byteweiser Vergleich.
Byteweise Ordnung.
Ziffernfolgen, Leerzeichen zählen nicht.
Ordnung von Ziffernfolgen.
Teilstrings in Ziffernfolgen.
Leerzeichen und Bindestriche werden ignoriert.
Teilstrings in Telefonnummern.
Gleicher Zeitpunkt.
Früher/später – z. B. (modifyTimestamp>=20260101000000Z).
Postanschriften zeilenweise ohne Groß-/Kleinschreibung.
Teilstrings in Postanschriften.
Für uniqueMember (DN + optionale UID).
📚 Quellen: RFC 4517 – LDAP: Syntaxes and Matching Rules · RFC 4518 – LDAP: Internationalized String Preparation