Como modificar / adicionar uma nova objectClass a uma entrada no OpenLDAP

2

Recentemente, configurei o sistema de autenticação centralizada usando o OpenLDAP. Agora preciso estender os usuários que estão definidos no banco de dados para incluir uma nova classe de objeto que contenha alguns dados relacionados à segurança sobre eles. Como posso modificar as entradas existentes para adicionar essa nova classe de objeto? Eu sou muito novo no LDAP, então não morda minha cabeça se eu consegui fazer uma pergunta estúpida: P Obrigado!

    
por crazybyte 20.01.2011 / 15:42

3 respostas

2

Você pode executar ldapmodify para modificar uma ou mais entradas, você só precisa fornecer ao programa as credenciais e um arquivo contendo todas as alterações que você deseja fazer

Como exemplo (retirado diretamente do manual do openldap), se o seu arquivo contiver isto, ele irá adicionar / modificar todos esses campos

dn: uid=john.doe,ou=People,dc=example,dc=com
changetype: add
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
uid: john.doe
givenName: John
sn: Doe
cn: John Doe
mail: [email protected]
userPassword: password
    
por 20.01.2011 / 16:17
0

O esquema OpenLdap e ObjectClass são fáceis de estender. Olhe dentro do esquema empacotado se houver o objeto de suas necessidades (localizado, em um sistema de arquivos debian é / etc / ldap / schema)

Depois, você pode modificar suas entidades ldap e anexá-las a nova objectClass (e, por extensão, a novos tipos de atributos).

Se você deseja criar seu próprio tipo de atributo e / ou sua própria objectClass, é necessário solicitar um número de objeto OID ( OID Registo ).

Em seguida, siga este esquema:

objectIdentifier YOUR_OID <IANA NUMBER>
objectIdentifier YOUR_OBJECTCLASS YOUR_OID:1
objectIdentifier YOUR_ATTRIBUTETYPE YOUR_OID:2

Em seguida, defina seu tipo de atributo:

attributetype( YOUR_ATTRIBUTETYPE:1 NAME "your attribute name"
    DESC "quick description"
    EQUALITY typoofequality
    SYNTAX valid syntax

E sua classe de objeto:

objectclass(YOUR_OBJECTCLASSS:1 NAME "your objectclass name"
    DESC "quick description"
    SUP top #or another objectclass inheritence
    MUST (list of must attributes, separated by "$")
    MAY (list of may attributes, separated by "$") )

O número após o YOUR_ATTRIBUTETYPE / YOUR_OBJECTCLASS deve ser único (ou seja, um número para cada atributo)

Para referência, consulte Especificação de esquema do Open LDAP

    
por 21.01.2011 / 17:02
0

Aqui está um exemplo de arquivo LDIF para adicionar o objectClass posixAccount a uma entrada existente uid=testuser,ou=people,dc=example,dc=com de, e. objectClass inetOrgPerson :

dn: uid=testuser,ou=people,dc=example,dc=com
changetype: modify
add: objectClass
objectClass: posixAccount
-
add: homeDirectory
homeDirectory: /home/testuser
-
add: uidNumber
uidNumber: 1000
-
add: gidNumber
gidNumber: 1000

O - é importante para separar os blocos add . É preciso garantir que todos os atributos necessários (para posixAccount homeDirectory , uidNumber , gidNumber ) sejam adicionados no mesmo arquivo.

O arquivo LDIF pode ser adicionado, e. com

ldapmodify -x -D 'cn=root,dc=example,dc=com' -W -f filename.ldif
    
por 08.07.2016 / 12:23

Tags