Administro alguns servidores para uma organização pequena que oferece serviços semelhantes a ISPs para seus membros (hospedagem na Web, endereços de email em vários domínios e contas IMAP associadas, contas do Jabber) e quero centralizar todos os dados da conta no LDAP. Sou novo no LDAP e agora preciso projetar e organizar o layout do diretório LDAP.
O maior problema com o qual estou lidando é como mapear usuários para várias contas, por exemplo, usuários únicos têm atualmente várias contas IMAP e Jabber que estão associadas a vários endereços em vários domínios e cada conta tem uma senha diferente e eu preciso reter isso.
Então, como eu organizaria o layout do diretório LDAP?
Os usuários e várias contas devem estar em árvores diferentes, que são vinculadas por meio de um uid comum, ou = = people, dc = example, dc = net com inetOrgPersons descrevendo o usuário e, em seguida, separando árvores para as contas como ou = imapAccounts, dc = Por exemplo, dc = net, ou = jabberAccounts, dc = exemplo, dc = net etc. com esquemas customizados? Ou existe uma maneira melhor, já que isso parece muito com uma solução usando um banco de dados relacional?
Alguma recomendação de recursos / livros / exemplos do mundo real que são úteis aqui? A maioria dos recursos que eu vi parecem assumir que uma pessoa tem apenas uma conta de e-mail / jabber etc. e quer usar uma única senha para isso. Não acredito que seja incomum que os ISPs permitam que seus clientes tenham várias contas, por exemplo, para permitir que eles separem e-mails privados e de trabalho ou encorajem senhas diferentes para serviços diferentes, de modo que uma senha salva do Jabber que seja comprometida não resulte em um comprometimento de todos os outros serviços desse cliente, etc.
Tentarei ser mais específico sobre meu caso de uso e explicar meu modelo de dados atual:
Existem usuários únicos, que são pessoas para as quais preciso de alguns dados de contato e que possuem uma conta de shell (única) na caixa de hospedagem.
Cada um desses usuários únicos pode ter várias contas IMAP e Jabber.
Para responder às perguntas de design:
- Um usuário pode ser considerado um contêiner para contas, mas também representa uma pessoa que deve ter dados de contato associados a eles.
- Os usuários nunca compartilham contas.
- As contas nunca serão movidas entre os usuários.
- As caixas executam o RHEL6 e eu preciso de integração com o PAM, Postfix / Dovecot e ejabberd, para que a integração seja possível tanto com o LDAP quanto com um RDB.