Re: Errors in diradmin-1.6.0
"Dieter Kluenter" <[email protected]> Sun, 09 Jan 2005 10:30:15 +0100
| Newsgroups | gmane.network.directoryadmin |
|---|---|
| Organization | AVCI |
| Message-ID | <[email protected]> |
Mike Jackson <[email protected]> writes: > Dieter Kluenter wrote: > >> A revised version, complying to ldapv3 and samba3 would be >> great. It's >> about a year ago, I suggested to replace object class account with >> extensibleObject in order to overcome the objectclass violation.As the >> attribute 'host' would be the only attribute used of object class >> account, it would make sense to replace this object class. > > The LDAPv3 is working now with 1.6.0. > > RE your suggestion: > > The problem with the "account" objectclass is that it is the only > standard objectclass which provides the "host" attribute, which > pam_ldap relies on to do host-based access control, and that it is > defined as structural. This is a mistake IMHO, but it would probably > be impossible to get the RFC changed. Newer versions of OpenLDAP > actually enforce structural integrity, e.g. only allowing one > structural objectclass per object. This conflicts with "person", IIRC, > which is also structural. This is only partially correct. RFC 2252 requires that only one structural objectclass is declared, but you may use all attributes that are part of the class chain. An example, if you declare an entry belonging to evolutionPerson objectclass, one may use attributes of inetOrgPerson and Person as well but you don't have to declare this entry belonging to this object classes.The object class chain is top -> person -> pilotPerson -> inetOrgPerson -> evolutionPerson > If we were to do this right, we would have a "pam_ldap.schema" or > something. In order to use pam_ldap host access control, and to comply > with structural integrity, we must add new schema to the server, but I > don't really like that. I wonder if this has been discussed on the > pam_ldap mailing list already. I'm quite aware of the enheritage problem with structural object classes. There are two solutions to this, either design a new subclass and include a host attribute, or use the extensibleObject object class and apply the host attribute (RFC 2252). I personally quite often make use of the class extensibleObject. An other approach would be a complete redesign with no hard coding of any attributes, but read available attributes from the subschema subentry, (ldapsearch -b "cn=subschema" -s base +) or (ldapsearch -b "cn=subschema -s base attributeTypes objectClasses). -Dieter -- Dieter Klünter | Systemberatung http://www.dkluenter.de GPG Key ID:01443B53 ------------------------------------------------------- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt