<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
        {font-family:"Times New Roman \, serif";}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        color:black;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";
        color:black;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;
        color:black;}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:"Calibri","sans-serif";}
span.EmailStyle22
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle23
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle24
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";
        color:black;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body bgcolor=white lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='color:#1F497D'>The second link you provided (at port 389.org) specifically mentions using the “account” objectclass.  I don’t have access to RHN to read the first link, though.<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p><div style='border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext'> 389-users-bounces@lists.fedoraproject.org [mailto:389-users-bounces@lists.fedoraproject.org] <b>On Behalf Of </b>Rich Megginson<br><b>Sent:</b> Tuesday, July 10, 2012 8:46 AM<br><b>To:</b> Anderson, Cary@CIO<br><b>Cc:</b> 'General discussion list for the 389 Directory server project.'<br><b>Subject:</b> Re: [389-users] Question regarding Combining ObjectClasses to add attributes<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>On 07/10/2012 09:01 AM, Anderson, Cary@CIO wrote: <o:p></o:p></p><p class=MsoPlainText>Thanks for the quick response.<o:p></o:p></p><p class=MsoPlainText>&nbsp;<o:p></o:p></p><p class=MsoPlainText>The RHN knowledgebase article I found was titled:&nbsp; &quot;How to use &quot;host&quot; attribute to limit ldap users can be accessed by specified host?&quot;&nbsp; kb# 65838<o:p></o:p></p><p class=MsoPlainText><a href="https://access.redhat.com/knowledge/solutions/65838">https://access.redhat.com/knowledge/solutions/65838</a><o:p></o:p></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'><br>It doesn't say anything about an &quot;Account&quot; objectclass.<br><br>See also <a href="http://port389.org/wiki/Howto:Posix">http://port389.org/wiki/Howto:Posix</a><br><br><br><o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>&nbsp;</span><o:p></o:p></p><p class=MsoNormal><span style='color:#1F497D'>&nbsp;</span><o:p></o:p></p><p class=MsoNormal><span style='color:#1F497D'>&nbsp;</span><o:p></o:p></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext'> Rich Megginson [<a href="mailto:rmeggins@redhat.com">mailto:rmeggins@redhat.com</a>] <br><b>Sent:</b> Monday, July 09, 2012 9:14 AM<br><b>To:</b> General discussion list for the 389 Directory server project.<br><b>Cc:</b> Anderson, Cary@CIO<br><b>Subject:</b> Re: [389-users] Question regarding Combining ObjectClasses to add attributes</span><o:p></o:p></p></div></div><p class=MsoNormal>&nbsp;<o:p></o:p></p><p class=MsoNormal>On 07/09/2012 09:44 AM, Anderson, Cary@CIO wrote: <o:p></o:p></p><p>I have recently started working with the Director Server, and I have read the documents for both 389 and RHDS, but I am having some difficulties regarding ObjectClass types, and combining them in order to extend the available attributes for an object.&nbsp; The documents indicate that you can only have one Structural ObjectClass and multiple Aux. ObjectClasses, and I'm a bit hazy on the rules for Abstract ObjectClasses.&nbsp;&nbsp;<o:p></o:p></p><p>If I take the example of needing to add the &quot;host&quot; attribute to a user object.&nbsp; A RHN knowledgebase article indicates to add the &quot;hostobject&quot; ObjectClass rather than the &quot;Account&quot; ObjectClass. <o:p></o:p></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman , serif","serif"'><br>Can you provide a link to this kbase article?<br><br><br><br></span><o:p></o:p></p><p>My assumption was that &quot;hostobject&quot; was an Aux. ObjectClass, and that &quot;Account&quot; was Structural, but when I look at the two ObjectClasses via the administrative GUI, they both have &quot;Top&quot; listed as the parent ObjectClass.&nbsp; So I'm not certain why one is appropriate and the other is not.<o:p></o:p></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman , serif","serif"'>It would appear the console does not tell you if the objectclass is structural, auxiliary, or abstract.&nbsp; You cannot tell by just the inheritance - by default, all objectclasses have &quot;top&quot; as the superior unless otherwise specified.<br><br>This is the official LDAPv3 description - <a href="http://www.ietf.org/rfc/rfc4512.txt">http://www.ietf.org/rfc/rfc4512.txt</a><br><br>An entry may have only one STRUCTURAL objectclass, and multiple AUXILIARY objectclasses.&nbsp; Chances are you will want to use AUXILIARY objectclasses for your extra attributes (like posixAccount) and just use one of the pre-defined objectclasses (like inetOrgPerson) as your STRUCTURAL objectclass.<br><br><br><br></span><o:p></o:p></p><p>Moving forward I want to be able to combine ObjectClasses to extend available objects without introducing data integrity issues in my ldap directory.&nbsp; I am looking for some clarification of rules regarding structural objectclasses,<o:p></o:p></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman , serif","serif"'>See rfc4512<br><br><br></span><o:p></o:p></p><p>and if there is an easy way via the admin gui to tell the difference between structural, auxillary, and abstract objectclasses. <o:p></o:p></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman , serif","serif"'>No.&nbsp; You'll have to search cn=schema to check:<br>ldapsearch -xLLL -s base -b &quot;cn=schema&quot; &quot;objectclass=*&quot; objectclasses | perl -p0e 's/\n //g' | grep AUXILIARY<br><br>Note that ldapsearch wraps the output, so you'll have to use perl (or sed) to unwrap - see <a href="http://richmegginson.livejournal.com/18726.html">http://richmegginson.livejournal.com/18726.html</a><br><br><br></span><o:p></o:p></p><p>Also will the directory do some sort of intregrity checking if you attempt to combine improper objectclasses either via commandline or the admin gui?<o:p></o:p></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman , serif","serif"'>Yes, although by default 389 will allow an entry to have multiple structural objectclasses, but that will change in a future release, so don't rely on that behavior.<br><br><br></span><o:p></o:p></p><p>&nbsp;<o:p></o:p></p><p>Thanks<o:p></o:p></p><p class=MsoNormal>&nbsp;<o:p></o:p></p><p class=MsoNormal>&nbsp;<o:p></o:p></p><p class=MsoNormal><b><span style='font-size:12.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; Cary Anderson</span></b><o:p></o:p></p><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#1F497D'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></b><span style='font-size:12.0pt'>916.464.5108</span><o:p></o:p></p><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#333399'>Linux Support</span></b><b><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#1F497D'> |</span></b><b><span style='font-size:12.0pt'> </span></b><b><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:maroon'>Engineering Dept</span></b><b><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#1F497D'>.</span></b><o:p></o:p></p><p class=MsoNormal>&nbsp;<o:p></o:p></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman , serif","serif"'><br><br><br><br></span><o:p></o:p></p><pre>--<o:p></o:p></pre><pre>389 users mailing list<o:p></o:p></pre><pre><a href="mailto:389-users@lists.fedoraproject.org">389-users@lists.fedoraproject.org</a><o:p></o:p></pre><pre><a href="https://admin.fedoraproject.org/mailman/listinfo/389-users">https://admin.fedoraproject.org/mailman/listinfo/389-users</a><o:p></o:p></pre><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman , serif","serif"'>&nbsp;</span><o:p></o:p></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'><o:p>&nbsp;</o:p></span></p></div></div></body></html>