LDAP Object Classes and Attributes

There are bucket loads of off-the-shelf attributes and objectclasses some are standardized, some from the kindness of heart of the author(s). Many are packaged into Schemas distributed with OpenLDAP. Some of the most common are defined below. This list is not exhaustive. Where possible it is always sensible to use a pre-existing attribute and objectclass but you can build your own - if your heart will stand the strain of ASN.1.

Find the attribute you want then check with its objectclass to see what other 'stuff' it picks up. The objectclass hierarchy is shown by the notation [->objectclassname] under Name (and is mostly hyperlinked in the schema definitions). So if you use, say, the objectclass of residentialPerson which has a parent of person then the MUST attributes are sum of (inherits from in the jargon) both objectclasses which is this case means cn, sn and l are MUST.

Notes: Attribute name are case insensitive but you will see them mostly written in that pseudo Hungarian notation which puts capitals in (mostly) inconsistent places!

Contents

Commonly used attributes
Object Classes
corba.schema - distribution listing
core.schema - distribution schema - browsable
cosine.schema - distribution schema - browsable
inetorgperson.schema - distribution schema - browsable
java.schema - distribution schema - not browsable
nis.schema - distribution schema - browsable
openldap.schema - distribution schema - not browsable
qmail.schema - distribution schema - browsable
samba3.schema - edited distribution schema - browsable
authldap.schema (courier-imap) - distribution schema - browsable

Commonly Used Attributes

This not an exhaustive list but defines some common attributes and cross links them to some of the objectclasses in which they are used. Clicking the schema link will take you to the definition.

Abbrev.NameobjectClassDescriptionSchema
ccountryNamecountry2 character country code defined in ISO 3166core.schema
cncommonNameperson
organizationalPerson
organizationalRole
groupOfNames
applicationProcess
applicationEntity
posixAccount
device
 core.schema
dcdomainComponentdcObjectany part of a domain name e.g. domain.com, domain or comcore.schema
-facsimileTelephoneNumberresidentialPerson
organizationalRole
organizationalPerson
 core.schema
cofriendlyCountryNamefriendlyCountry
full name of countrycosine.schema
gngivenNameinetOrgPersonFirst or given namecore.schema
homePhonehomeTelephoneNumberinetOrgPerson cosine.schema
-jpegPhotoinetOrgPersonjpg format photoinetorgperson.schema
llocalityNamelocality
organizationalPerson
 core.schema
mailrfc822MailboxinetOrgPersonemail address e.g. joe@smokeyjoe.comcore.schema
mobilemobileTelephoneNumberinetOrgPersonmobile or cellular phone numbercosine.schema
oorganizationNameorganizationOrganization name or even organisational namecore.schema
ouorganisationalUnitNameorganizationUnitUsually department or any sub entity of larger entitycore.schema
-ownergroupOfNames
device
groupOfUniqueNames
 core.schema
pagerpagerTelephoneNumberinetOrgPerson cosine.schema
-postalAddressorganizationalPerson core.schema
postalCodepostalCodeorganizationalPersonPost Code or ZIPcore.schema
snsurnamepersonsurname or family namecore.schema
ststateOrProvinceNameorganizationalPerson core.schema
streetstreetAddressorganizationalPerson core.schema
-telephoneNumberorganizationalPerson core.schema
userPassword-organization
organizationalUnit
person
dmd
simpleSecurityObject
domain
posixAccount
User password for some form of access controlcore.schema
uiduseridaccount
inetOrgPerson
posixAccount
various - mostly username or other unique valuecore.schema

Object Classes

Not an exhaustive list but shows the mandatory (MUST) and optional (MAY) attributes in some commonly used objectclasses. Clicking the schema link will take you to the definition.

NameMUSTMAYSchema
accountuseriddescription $ seeAlso $ localityName $ organizationName $ organizationalUnitName $ hostcosine.schema
countrycsearchGuide $ description core.schema
dcObjectdc-core.schema
devicecnserialNumber $ seeAlso $ owner $ ou $ o $ l $ descriptioncore.schema
friendlyCountry
[->country]
friendlyCountyName-cosine.schema
groupOfNamesmember $ cnbusinessCategory $ seeAlso $ owner $ ou $ o $ descriptioncore.schema
groupOfUniqueNamesuniqueMember $ cnbusinessCategory $ seeAlso $ owner $ ou $ o $ descriptioncore.schema
inetOrgPerson
[->person]
-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 $ userPKCS12inetorgperson.schema
locality-street $ seeAlso $ searchGuide $ st $ l $ descriptioncore.schema
organizationalPerson
[->person]
-title $ x121Address $ registeredAddress $ destinationIndicator $ preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $ telephoneNumber $ internationaliSDNNumber $ facsimileTelephoneNumber $ street $ postOfficeBox $ postalCode $ postalAddress $ physicalDeliveryOfficeName $ ou $ st $ l core.schema
organizationouserPassword $ searchGuide $ seeAlso $ businessCategory $ x121Address $ registeredAddress $ destinationIndicator $ preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $ telephoneNumber $ internationaliSDNNumber $ facsimileTelephoneNumber $ street $ postOfficeBox $ postalCode $ postalAddress $ physicalDeliveryOfficeName $ st $ l $ descriptioncore.schema
organizationalRolecnx121Address $ registeredAddress $ destinationIndicator $ preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $ telephoneNumber $ internationaliSDNNumber $ facsimileTelephoneNumber $ seeAlso $ roleOccupant $ preferredDeliveryMethod $ street $ postOfficeBox $ postalCode $ postalAddress $ physicalDeliveryOfficeName $ ou $ st $ l $ descriptioncore.schema
organizationalUnitouuserPassword $ searchGuide $ seeAlso $ businessCategory $ x121Address $ registeredAddress $ destinationIndicator $ preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $ telephoneNumber $ internationaliSDNNumber $ facsimileTelephoneNumber $ street $ postOfficeBox $ postalCode $ postalAddress $ physicalDeliveryOfficeName $ st $ l $ descriptioncore.schema
personsn $ cnuserPassword $ telephoneNumber $ seeAlso $ description core.schema
posixAccountcn $ uid $ uidNumber $ gidNumber $ homeDirectoryuserPassword $ loginShell $ gecos $ descriptionnis.schema
residentialPerson
[->person]
lbusinessCategory $ x121Address $ registeredAddress $ destinationIndicator $ preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $ telephoneNumber $ internationaliSDNNumber $ facsimileTelephoneNumber $ preferredDeliveryMethod $ street $ postOfficeBox $ postalCode $ postalAddress $ physicalDeliveryOfficeName $ st $ l core.schema
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值