OpenLDAP e Posix Groups / Account

2

Não consigo adicionar usuários / grupos posix a este diretório ldap recém-criado. A versão do OpenLDAP é 2.4.19.

O LDIF que eu preencheu o diretório LDAP é provavelmente o problema, mas não tenho certeza do que fazer em seguida ...

dn: dc=company,dc=net,dc=au
objectClass: dcObject
objectClass: organization
o: Company Pty Ltd
dc: company

dn: cn=manager,dc=company,dc=net,dc=au
objectClass: organizationalRole
cn: Manager

dn: ou=People,dc=company,dc=net,dc=au
objectClass: organizationalUnit
objectClass: top
ou: People

dn: ou=Groups,dc=company,dc=net,dc=au
objectClass: organizationalUnit
objectClass: top
ou: Groups

Alguém poderia me educar:)

Atualização: adicionei nis.schema , que eu esperava corrigir o problema, já que tem todas as classes posix * que eu procurava. No entanto, agora recebo o seguinte erro:

/etc/openldap/schema/nis.schema: line 203 objectclass: AttributeType not found: "manager"
/opt/openldap/etc/openldap/slapd.conf: line 6: <include> handler exited with 1!
slapd destroy: freeing system resources.
slapd stopped.
connections_destroy: nothing to destroy.

A seção relevante de nis.schema , ~ linha 203 é a seguinte ...

objectclass ( 1.3.6.1.1.1.2.6 NAME 'ipHost'
    DESC 'Abstraction of a host, an IP device'
    SUP top AUXILIARY
    MUST ( cn $ ipHostNumber )
    MAY ( l $ description $ manager ) )

Eu continuarei lendo.

    
por Xerxes 22.11.2009 / 10:30

4 respostas

1

Acho que descobri - Quando terminar de ler, postarei a causa raiz e a solução detalhada; mas por enquanto - e em resumo - não incluí os arquivos de esquema apropriados.

A posixAccount é uma classe auxiliar, por isso é uma opção completamente opcional que pode ser "anexada" à estrutura estrutural necessária - seja pessoal, organizacional ou inter-membro.

Não, achei que estava perto, ainda sem sorte. Para adicionar nis.schema, eu tive que adicionar alguns esquemas de pré-requisitos, então agora eu tenho ...

include         /etc/openldap/schema/core.schema
include         /etc/openldap/schema/cosine.schema
include         /etc/openldap/schema/inetorgperson.schema
include         /etc/openldap/schema/nis.schema

Isso resolveu slapd não iniciar, no entanto, eu ainda não consigo ver qualquer posix * classes em qualquer lugar na interface web ldap mgmt.

    
por 22.11.2009 / 12:14
1

Não posso ajudá-lo muito com o phpldap, pois nunca o usei (prefiro ApacheDirectoryStudio ou as ferramentas de linha de comando do openldap), mas se você pode usar um arquivo LDIF genérico com ele, por favor tente este:

dn: uid=juser,ou=People,dc=company,dc=net,dc=au
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: posixAccount
objectClass: top
cn: Joe User
gidNumber: 100
homeDirectory: /home/juser
uid: juser
uidNumber: 1004
gecos: Joe User
givenName: Joe
loginShell: /bin/bash

... e veja se funciona?

Em qualquer caso, recomendo strongmente o uso do ApacheDirectoryStudio como um navegador genérico de LDAP / esquema.

    
por 28.11.2009 / 21:30
1

Você teve a resposta certa; você precisa adicionar os esquemas como seguidos no seu slapd.conf e reiniciar:

nota: a ordem é importante!

include         /etc/openldap/schema/corba.schema
include         /etc/openldap/schema/core.schema
include         /etc/openldap/schema/cosine.schema
include         /etc/openldap/schema/duaconf.schema
include         /etc/openldap/schema/dyngroup.schema
include         /etc/openldap/schema/inetorgperson.schema
include         /etc/openldap/schema/java.schema
include         /etc/openldap/schema/misc.schema
include         /etc/openldap/schema/nis.schema
include         /etc/openldap/schema/openldap.schema
include         /etc/openldap/schema/ppolicy.schema
include         /etc/openldap/schema/collective.schema

Então você pode adicionar o usuário POSIX via arquivo ldif:

# User primary group
dn: cn=ussergroup,ou=groups,dc=me,dc=com
cn: ussergroup
objectClass: top
objectClass: posixGroup
gidNumber: 10001

# User account
dn: uid=user,ou=users,dc=me,dc=com
cn: user
givenName: user
sn: user
uid: user
uidNumber: 10001
gidNumber: 10001
homeDirectory: /home/user
mail: [email protected]
objectClass: top
objectClass: posixAccount
objectClass: shadowAccount
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
loginShell: /bin/bash
userPassword: {CRYPT}*
    
por 22.09.2015 / 18:37
0

Você pode tentar usar os scripts de migração para gerar uma base ldif. Na minha instalação do RHEL, eles estão em /usr/share/openldap/migration/ , claro, dependendo da sua distro, eles podem pousar em outro lugar.

migrate_passwd.pl fornecerá seus usuários e migrate_group.pl seus grupos (ambos óbvios). Se apropriado, você também pode usar o migrate_all_online.sh para sugar tudo do seu sistema atual e despejá-lo diretamente em um LDAP atualmente em execução (e depois podar ou adicionar conforme necessário).

    
por 12.02.2010 / 16:37