fazendo alterações de configuração do OpenLDAP no RHEL 6

1

Eu tenho configurado o OpenLDAP no RHEL 6 e parece que você executou o seguinte para reconstruir os diretórios de configuração. Eu estou bem com isso, mas meus problemas são, digamos, eu quero mudar o servidor passwd, eu tenho que passar por todo o processo toda vez que eu mudar a configuração? Existe uma maneira de alterar a configuração do slapd depois de ter sido construída usando o método RHEL6?

Abaixo segue o conselho que eu encontrei na net aqui .

This example assumes that the file to convert from the old slapd configuration is located at /etc/openldap/slapd.conf and the new directory for OpenLDAP configuration is located at /etc/openldap/slapd.d/. Remove the contents of the new /etc/openldap/slapd.d/ directory:

rm -rf /etc/openldap/slapd.d/*

Run slaptest to check the validity of the configuration file and specify the new configuration directory: slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d

Configure permissions on the new directory: chown -R ldap:ldap /etc/openldap/slapd.d

chmod -R 000 /etc/openldap/slapd.d

chmod -R u+rwX /etc/openldap/slapd.d

Para esclarecer: Eu estou atrás de ajuda sobre como editar a configuração do slapd usando as versões mais novas do openldap, onde a configuração é mantida em um esquema, em vez do original slapd.conf .

    
por AndyM 05.07.2011 / 14:36

1 resposta

6

Após a migração para o diretório de configuração slapd.d , o arquivo slapd.conf é convertido em alguns arquivos LDIF.

Para cada banco de dados que foi configurado em slapd.conf , agora há um novo arquivo ldif em slapd.d/cn=config/ . O nome desses arquivos consiste em olcDatabase={Number}NameOfDatabase.ldif .

Abaixo está a estrutura de slapd.d no meu caso (no Debian):

slapd.d/
├── cn=config
│   ├── cn=module{0}.ldif
│   ├── cn=schema
│   │   └── cn={0}core.ldif
│   ├── cn=schema.ldif
│   ├── olcDatabase={0}config.ldif
│   ├── olcDatabase={1}bdb.ldif
│   └── olcDatabase={-1}frontend.ldif
└── cn=config.ldif

O mais importante são os arquivos olcDatabase={1}bdb.ldif e olcDatabase={0}config.ldif que incluem a configuração de dois back-ends do banco de dados: bdb - minha base primária do ldap e banco de dados config virtual usado para modificação dinâmica de slapd config.

Cada banco de dados tem sua própria senha e usuário root que estão configurados no arquivo ldif. O usuário root e a senha são definidos por esses atributos:

olcRootDN: cn=Manager,cn=config
olcRootPW:: c2VjcmV0

O primeiro método de alterar a senha é apenas alterar o valor de olcRootPW . Nesse exemplo, a senha é definida para a palavra secret e é codificada por base64.

Podemos alterar a linha olcRootPW para:

olcRootPW: plaintextpassword
olcRootPW:: base64decodedtext (in base64 method there is double ':' after attribute name)
olcRootPW: {SSHA}8IAb01fZAtNBH5F0n4x5t2WkmQbhZnWm (SSHA encoded password generated by 'slappaswd' command)

Então, se você editar seu arquivo de banco de dados, isso é feito (não tenho certeza se slapd pode estar em execução ao editar arquivos ldif - é mais seguro pará-lo) ... mas há outra opção ...; )

Se você tiver habilitado o banco de dados config , você pode se vincular a ele usando qualquer cliente ldap (eu recomendo Apache Directory Studio o que é realmente ótimo cliente / editor ldap). É claro que, para vincular a esse banco de dados, você deve saber olcRootDN e olcRootPW configurado para esse back-end. Nesse caso, o BaseDN deve ser definido como cn=config . Depois de conectar o nome de usuário e a senha, os valores editáveis são normais em olcDatabase={1}bdb,cn=config .

    
por 05.07.2011 / 17:12

Tags