[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: Invalid structural object class chain
Another option, perhaps less desirable than the one suggested by
Hallvard, is to alter the 'account' object in cosine.schema from:
objectclass ( 0.9.2342.19200300.100.4.5 NAME 'account'
SUP top STRUCTURAL
MUST userid
MAY ( description $ seeAlso $ localityName $
organizationName $ organizationalUnitName $ host )
)
to:
objectclass ( 0.9.2342.19200300.100.4.5 NAME 'account'
SUP top AUXILIARY
MUST userid
MAY ( description $ seeAlso $ localityName $
organizationName $ organizationalUnitName $ host )
)
Cheers,
Brent
On Wed, 2003-07-09 at 10:45, Hallvard B Furuseth wrote:
> Tibbetts, Ric writes:
> > The situation, if I'm adding new users, and use the following combination:
> >
> > {printf "objectClass: top\n"} \
> > {printf "objectClass: person\n"} \
> > {printf "objectClass: account\n"} \
> > {printf "objectClass: organizationalPerson\n"} \
> > {printf "objectClass: inetOrgPerson\n"} \
> > {printf "objectClass: posixAccount\n"} \
> > .
> > ldap_add: Object class violation (65)
> > additional info: invalid structural object class chain
> > (person/account)
>
> Yes. You have a structural object class _tree_ which ends in both
> account and in inetOrgPerson. It may only end in one object class.
>
> > Of course, if I move "account" around, the invalid chain changes
> > accordingly. If I remove "account", the problem goes away. But I'd
> > like to keep it in.
>
> In that case you must add a structural object class which is a subclass
> of both inetOrgPerson and account. E.g.
>
> objectclass ( <oid> NAME 'personalAccount'
> SUP ( inetOrgPerson $ account ) STRUCTURAL )
>
> The other alternative is to remove account after all, and instead add
> another object class which contains the attributes you want from
> account.
>
> BTW, I don't think you need to list subclasses of classes you add.
> I believe they are added automatically. That is, you only need
> {printf "objectClass: personalAccount\n"} \
> {printf "objectClass: posixAccount\n"} \