Você não deveria ter modificado inetorgperson
. Não havia necessidade de fazer isso.
Qualquer número de AUXILIARY
ObjectClasses pode coexistir (com um STRUCTURAL
objectClass).
Seu slapd pode ficar bem se você reiniciá-lo.
Eu adicionei um atributo ao meu banco de dados LDAP executando
ldapmodify -QY EXTERNAL -H ldapi:/// -f openssh-lpk.schema
como root, onde openssh-lpk.schema
contém isso:
# Author: Eric AUGE <[email protected]>
#
# Based on the proposal of : Mark Ruijter
#
version: 1
dn: cn=openssh-lpk,cn=schema,cn=config
changetype: add
cn: openssh-lpk
objectClass: olcSchemaConfig
olcAttributeTypes: ( 1.3.6.1.4.1.24552.500.1.1.1.13 NAME 'sshPublicKey'
DESC 'OpenSSH Public key'
EQUALITY octetStringMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )
olcObjectClasses: ( 1.3.6.1.4.1.24552.500.1.1.2.0 NAME 'ldapPublicKey' SUP top AUXILIARY
DESC 'OpenSSH LPK objectclass'
MUST uid
MAY sshPublicKey )
dn: cn={5}inetorgperson,cn=schema,cn=config
changetype: modify
replace: olcObjectClasses
olcObjectClasses: ( 2.16.840.1.113730.3.2.2 NAME 'inetOrgPerson' DESC 'RF
C2798: Internet Organizational Person' SUP organizationalPerson STRUCTURAL
MAY ( audio $ businessCategory $ carLicense $ departmentNumber $ displayNam
e $ employeeNumber $ employeeType $ givenName $ homePhone $ homePostalAddre
ss $ initials $ jpegPhoto $ labeledURI $ mail $ manager $ mobile $ o $ page
r $ photo $ roomNumber $ secretary $ uid $ userCertificate $ x500uniqueIden
tifier $ preferredLanguage $ userSMIMECertificate $ userPKCS12 $ sshPublicK
ey ) )
Isso funciona muito bem - eu sou capaz de modificar os usuários para adicionar seus detalhes de chave pública ao seu registro e, em seguida, ler os dados de outros clientes.
Os problemas aparecem quando tento fazer backup do banco de dados usando slapcat
, embora:
5b044b38 olcObjectClasses: value #0 olcObjectClasses: AttributeType not found: "sshPublicKey"
5b044b38 config error processing cn={5}inetorgperson,cn=schema,cn=config: olcObjectClasses: AttributeType not found: "sshPublicKey"
slapcat: bad configuration file!
O que eu fiz de errado que slapcat
não é capaz de ver a definição para sshPublicKey
?