Hi Dmitri,<br><br><div class="gmail_quote">On Sun, Mar 18, 2012 at 5:41 PM, Dmitri Pal <span dir="ltr"><<a href="mailto:dpal@redhat.com">dpal@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<u></u>
<div bgcolor="#ffffff" text="#000000"><div><div class="h5">
On 03/18/2012 08:59 AM, Marco Pizzoli wrote:
<blockquote type="cite">Hi Simo,<br>
<br>
<div class="gmail_quote">On Sat, Mar 17, 2012 at 7:16 PM, Simo
Sorce <span dir="ltr"><<a href="mailto:simo@redhat.com" target="_blank">simo@redhat.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<div>On Sat, 2012-03-17 at 11:12 +0100, Marco
Pizzoli wrote:<br>
> Hi guys,<br>
><br>
> I extended my set of LDAP objectClasses associated to
users by adding<br>
> my new objectClass to my cn=ipaConfig LDAP entry, the<br>
> ipaUserObjectClasses attribute.<br>
> Then, I created a new user with the web ui and I see
the new<br>
> objectClass associated with that user, but as
structural instead of<br>
> auxiliary. I don't know why, could you help me?<br>
><br>
> Same thing happened for my groups. I added 3
objectClasses and now I<br>
> see all of them as structural. I would understand an
answer: all<br>
> objectClasses eventually result as structural, but so
why, for<br>
> example, the ipaObject is still an auxiliary
objectClass?<br>
<br>
</div>
</div>
The objectClass type depends on the schema. It is not
something that<br>
changes after you assign it to an object.<br>
</blockquote>
<div><br>
Yes, your answer surely does make sense.<br>
<br>
My question was triggered by the fact that, AFAICS, not all
objectClasses are structural as well.<br>
In fact I can see that, for my group object, the objectClass
"ipaobject" has been defined as auxiliary, while others
structural.<br>
For users, I see that *only my objectClass* is defined as
structural. All others as auxiliary.<br>
<br>
In attachment you can see 2 images that immediately represent
what I'm trying to explain.<br>
<br>
If this was the intended behaviour, I would be really
interested in knowing what is the rationale behind this.<br>
Only curiousity, as usual :-)<br>
<br>
Thanks again for your patience!<br>
</div>
</div>
</blockquote>
<br></div></div>
AFAIU the object classes that are added to users and groups need to
be first defined in the schema.<br>
I assume you have done so otherwise all sorts of errors would have
shown up. Am I correct?</div></blockquote><div><br>Exact. I followed the instructions on extending the schema on 389-ds, by inserting a file in my /etc/dirsrv/<instance>/schema dir.<br>Everything went ok, and I can see from phpldapadmin that the DSA correctly present my objectClasses as available to use for extending objects.<br>
</div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div bgcolor="#ffffff" text="#000000"> I do not recognize the object classes as
standard object classes. But might knowledge might be limited.<br></div></blockquote><div><br>Exact, they are "mine" objects, under a reserved OID number.<br> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#ffffff" text="#000000">
Can you put show how you defined these new object classes in schema?
You might have not specified the type and it defaulted to
structural. <br></div></blockquote><div><br>This was a schema file created for OpenLDAP and which is currently in production.<br>I used the script posted on the 389-ds HowTo for the migration from OpenLDAP schema files to 389-ds format.<br>
Here you can find it. A little camouflated, of course.<br><br><span style="font-family:courier new,monospace">[root@freeipa01 ~]# cat /etc/dirsrv/slapd-UNIX-MYDOMAIN-IT/schema/98myfile.ldif</span><br style="font-family:courier new,monospace">
<span style="font-family:courier new,monospace">dn: cn=schema</span><br style="font-family:courier new,monospace"><span style="font-family:courier new,monospace">attributetypes: ( 1.3.6.1.4.1.36005.0.2.4.4 NAME 'xxxUfficio' DESC 'Ufficio di appartenenza degli utenti XXX' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 USAGE userApplications )</span><br style="font-family:courier new,monospace">
<span style="font-family:courier new,monospace">objectclasses: ( 1.3.6.1.4.1.36005.0.2.6.2 NAME 'xxxPeopleAttributes' SUP top AUXILIARY DESC 'Definizione di attributi specifici per gli utenti XXX' MAY ( xxxUfficio ))</span><br style="font-family:courier new,monospace">
<span style="font-family:courier new,monospace">attributetypes: ( 1.3.6.1.4.1.36005.0.2.4.1 NAME 'xxxProgetto' DESC 'Nome del macro-progetto associato a questo gruppo LDAP' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 USAGE userApplications )</span><br style="font-family:courier new,monospace">
<span style="font-family:courier new,monospace">attributetypes: ( 1.3.6.1.4.1.36005.0.2.4.2 NAME 'xxxAmbiente' DESC 'Nome di ambiente SVIL-TEST-VALID-PROD associato al progetto' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 USAGE userApplications )</span><br style="font-family:courier new,monospace">
<span style="font-family:courier new,monospace">attributetypes: ( 1.3.6.1.4.1.36005.0.2.4.5 NAME 'xxxTipoGruppo' DESC 'Tipologia di gruppo' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 USAGE userApplications )</span><br style="font-family:courier new,monospace">
<span style="font-family:courier new,monospace">objectclasses: ( 1.3.6.1.4.1.36005.0.2.6.3 NAME 'xxxGroupsAttributes' SUP top AUXILIARY DESC 'Definizione di attributi specifici per i gruppi XXX' MAY ( xxxProgetto $ xxxAmbiente $ xxxTipoGruppo ))</span><br style="font-family:courier new,monospace">
<span style="font-family:courier new,monospace">attributetypes: ( 1.3.6.1.4.1.36005.0.2.4.6 NAME 'xxxWebminAmbiente' DESC 'Ufficio di appartenenza degli utenti XXX' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 USAGE userApplications )</span><br style="font-family:courier new,monospace">
<span style="font-family:courier new,monospace">objectclasses: ( 1.3.6.1.4.1.36005.0.2.6.4 NAME 'xxxWebminAttributes' SUP top AUXILIARY DESC 'Definizione di attributi specifici per gli oggetti Webmin' MAY ( xxxWebminAmbiente ))</span><br style="font-family:courier new,monospace">
<span style="font-family:courier new,monospace">attributetypes: ( 1.3.6.1.4.1.36005.0.2.4.3 NAME 'xxxDB2GruppiPrivilegi' DESC 'Tipologia di gruppo creato per accesso al DB2' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 USAGE userApplications )</span><br style="font-family:courier new,monospace">
<span style="font-family:courier new,monospace">objectclasses: ( 1.3.6.1.4.1.36005.0.2.6.5 NAME 'xxxDB2GroupsAttributes' SUP top AUXILIARY DESC 'Definizione di attributi specifici per i gruppi DB2' MAY ( xxxDB2GruppiPrivilegi ))</span><br style="font-family:courier new,monospace">
<span style="font-family:courier new,monospace">objectclasses: ( 1.3.6.1.4.1.36005.0.2.6.1 NAME 'xxxAttributes' SUP top AUXILIARY DESC 'Definizione di attributi specifici per utilizzo interno' MAY ( xxxProgetto $ xxxAmbiente $ xxxTipoGruppo $ xxxDB2GruppiPrivilegi ))</span><br style="font-family:courier new,monospace">
<br>As you can see, they are explicitly declared as AUXILIARY.<br><br>Thanks again<br>Marco<br></div></div><br>