Mover vários desktops de / etc / passwd para o LDAP

2

Estou ciente de que as perguntas sobre migração para o LDAP não são novas. Eu procurei informações por um bom tempo agora, mas o problema que encontrei é que a informação parece bastante fragmentada no tópico. Então, espero que alguém experiente possa me apontar na direção certa.

A situação atual:

  • Pequena empresa, crescendo em usuários e desktops
  • Cerca de 10 desktops Fedora-20/3 servidores Fedora-20
  • 1 Synology NAS DS1813 +
  • Cerca de 10 usuários
  • Todos os logins são locais nos desktops
  • Os usuários NÃO têm os mesmos UIDs e GIDs na rede de computadores.

Obviamente, torna-se cada vez mais atraente usar um diretório de usuários centralizado como o LDAP.

O problema :

Infelizmente, não consegui encontrar guias confiáveis e completos que abrangessem todo o processo para um cenário da vida real.

  • Configurando o servidor e configurando os clientes: OK, pelo que eu li, não pelo processo mais simplificado, mas mesmo que seja um pouco complicado, acredito que isso seja factível.
  • Migrando todos os usuários, de todas as máquinas: aqui está a parte "delicada". Obviamente, não quero arriscar nenhuma perda de informação. Mais uma vez, encontrei alguns guias sobre migração e sobre as MigrationTools , mas nenhuma dessas fontes me dá a sensação de um guia confiável. Cenário típico: há uma página wiki ou algo com instruções e uma pilha enorme de comentários reclamando que o procedimento falhou em algum momento. As questões levantadas são frequentemente muito mais do que as respostas dadas. Como isso pode me fazer sentir que posso iniciar esse processo com segurança?

Algumas perguntas específicas:

  • Existe um conjunto atualizado de práticas recomendadas / ferramentas recomendadas que certamente se deve considerar para esse processo de migração? Em particular, com atenção aos cenários da vida real? Qual sequência de ações a seguir, a que prestar atenção, como minimizar os riscos de perda de dados, como minimizar o tempo de inatividade dos usuários, etc?
  • Suponha que o usuário 'roberto' esteja presente (com diferentes IDs) em duas máquinas. Ao migrar informações do / etc / passwd de ambas as máquinas para o LDAP, elas são "mescladas" durante o processo? Se não, o que deve ser feito?
  • A migração pode ser feita em etapas, apenas para um usuário começar? É aconselhável?
  • Outra abordagem (talvez ingênua?) na qual pude pensar é: criar novos usuários LDAP, alterar a propriedade de todos os arquivos de antigos usuários locais para esses novos usuários e, em seguida, remover antigos usuários locais. Isso faz sentido em tudo? Alguma experiência anterior?
  • Como o LDAP se relaciona com o ACL? Eles vão bem juntos?
  • A etapa desejada a seguir é centralizar os diretórios iniciais dos usuários em um espaço compartilhado no NFS. Qualquer ponteiro para esta etapa seguinte também será bem-vindo, especialmente se vinculado à migração para o LDAP.
por cornuz 15.10.2014 / 11:47

3 respostas

1

Primeiro, perguntas para tutoriais etc. são fora do tópico .

Algumas ideias:

  • Você tem razão, as informações sobre isso estão dispersas, muitas vezes desatualizadas e não confiáveis. Como exemplo, você encontra muitas informações sobre como configurar o OpenLDAP com arquivos de configuração, mas muito pouco sobre cn=config . Meu palpite é que isso é resultado do fato de que toda migração como essa é diferente e simplesmente não há um caminho dourado para prosseguir. É impossível escrever um tutorial sobre isso que funcionará em todos os lugares ou você acaba escrevendo um livro muito grande.
  • Isso significa que você precisa combinar as partes e adaptá-las à sua situação. Não há maneira de contornar isso. Você tem sorte, já que seu ambiente parece muito pequeno e simples e, se necessário, tudo o que é necessário pode ser feito em um final de semana.
  • As ferramentas de virtualização são uma excelente ajuda com isso, pois você pode simular facilmente tudo no seu laptop, sem afetar ninguém.

Eu tenho algumas dicas gerais para você como proceder. Isso pressupõe um método passo a passo sem muito tempo de inatividade.

  • Crie uma lista de todos os usuários.
  • Verifique manualmente se eles têm o mesmo UID, etc., em todos os sistemas. Principalmente, isso significa editar /etc/passwd etc. e, em seguida, find e chmod de todos os arquivos pertencentes a um usuário.
  • Se você tiver nomes de usuário conflitantes, isso deve ser resolvido nesta etapa (por exemplo, os dois Bobs de Vendas e Atendimento ao cliente são denominados bob em suas máquinas)
  • Neste ponto, você pode adicionar todos os usuários com os UIDs unificados ao banco de dados LDAP. Dica profissional: com o OpenLDAP no Linux, você pode reutilizar a senha de /etc/shadow se adicionar {crypt} como prefixo do tipo de senha no campo userPassword do LDAP (para transformar $1$E.1Saa9d$LcRBQDLfnzR6WF4HmbjpC/ em {crypt}$1$E.1Saa9d$LcRBQDLfnzR6WF4HmbjpC/
  • Agora você pode configurar suas máquinas uma a uma para autenticar-se contra o LDAP e as contas de usuário ainda devem funcionar com a mesma senha (mas lembre-se de excluir / renomear os usuários locais).
  • Crie um servidor NFS para diretórios iniciais e verifique se ele está montado em todos os lugares (o iSCSI tem um propósito diferente).
  • Copie os diretórios base dos usuários para o compartilhamento NFS, renomeie o antigo /home para outra coisa e monte o compartilhamento NFS como /home .

Isso pode ser um processo mais ou menos direto, mas dependendo do seu ambiente, os problemas podem (irá!) aparecer. Mas, ao fazer as coisas ao longo deste caminho, você pode lidar com eles em uma base um por um como eles aparecem. Não há nenhum ponto em que você esteja em uma situação de tudo ou nada que tenha o potencial de deter tudo. Esta é uma situação muito confortável para tal projeto.

Se você tiver perguntas específicas ao longo do caminho, faça novas perguntas aqui.

    
por 15.10.2014 / 12:57
1

As solicitações de materiais de aprendizagem e tutoriais são fora do tópico .

Which sequence of actions to follow, what to pay attention to, how to minimise the risks of data loss, how to minimise the down-time for users, etc?

Comece por decidir sobre seus requisitos e escopo. Anote-os e faça com que sejam revisados.
Pense em configurar o Kerberos além do LDAP também. A possibilidade de logon único geralmente será um benefício comercial real para seus usuários finais, além de torná-los mais dispostos a tolerar interrupções durante o processo de migração. Os usuários finais geralmente não se importam com a mudança em geral e, obviamente, não vêem nenhum benefício imediato naquilo que percebem como melhorias operacionais que só beneficiam a vida dos administradores do sistema. FreeIPA oferece uma abordagem integrada.

Faça um inventário dos arquivos passwd e group existentes, bem como sudo configurações. Não negligencie outros serviços atualmente protegidos por nome de usuário / senha, que podem se beneficiar da integração com um diretório central de usuários (e SSO), como diretórios seguros em seus servidores web, etc.

Teste sua abordagem, scripts, etc. Faça backups e teste a restauração deles. SSSD parece o caminho para configurar suas estações de trabalho e servidores para integrar com o diretório (e FreeIPA) de forma relativamente indolor.

A montagem de diretórios base centrais em estações de trabalho é geralmente uma boa ideia, especialmente combinada com o auto mounter (autofs). Fazendo o mesmo em servidores (também sob demanda com auto-fs) parece gerar mais discussão. Se você seguir esse caminho, pense muito se você ou seus usuários devem ser os únicos a fundi-los.

O risco de perda de dados é relativamente pequeno, mas você faz backups e testa regularmente, certo?

Suppose user 'roberto' is present (with different IDs) on two machines. By migrating /etc/passwd information from both machines to LDAP, are they "merged" during the process? If not, what should be done?

Não, eles não são mesclados automaticamente, pois as contas de usuários podem ter apenas um único número de UID e cada nome de usuário também deve ser exclusivo. Como a propriedade do arquivo é armazenada pelo sistema de arquivos no número UID, o descarte de um UID resultaria no proprietário perdendo os direitos para esses arquivos. Você precisará alterar o proprietário do original para corresponder ao eventual número de UID escolhido para o usuário duplicado que é a mesma pessoa real. por exemplo. algo ao longo das linhas find -owner old-UID -exec chown new-UID '{}' \; nome de usuário duplicado para diferentes pessoas reais resultará em um novo nome de usuário para um deles, ou ambos acreditam em compartilhar a dor.

O mesmo vale para o grupo principal em que os usuários estão.

Can the migration be done in steps, only for one user to start with? Is it advisable?

O método de autenticação é definido principalmente por sistema e não por usuário, a migração do host pelo host faz mais sentido do que a migração por usuário. Se cada usuário tiver sua própria estação de trabalho, você poderá começar com uma, uma de cada vez, pois qualquer problema limitará o impacto a um único usuário. Assim que todos os usuários estiverem no diretório, fazer os servidores é relativamente fácil.

The following desired step is to centralise users' home directories to some network space (NFS or iSCSI). Any pointer to this following step would also be welcome, especially if linked to the migration to LDAP.

Um compartilhamento de arquivos é um lugar muito melhor para diretórios de usuário centralizados do que um dispositivo de bloco, então vá para o NFS. Com o NFSv4 muitos dos problemas do NFS clássico foram resolvidos e combinados com o Kerberos e a segurança é muito melhorada.

A conversão de autenticação em uma estação de trabalho pode acontecer simultaneamente com a mudança para um diretório inicial centralizado.

    
por 15.10.2014 / 14:12
0

Quanto ao sistema que você está mirando, pode valer a pena ir IPA gratuito porque se, no futuro, alguém implementar algumas caixas do Active Directory, é muito fácil vinculá-lo.

Quanto à migração ... Bem, pelo menos você está falando em pequena escala, então "etch-a-sketch end da rede" é uma opção.

Direitos do Sudo, obviamente, isso é vital, com essa pequena quantidade de máquinas, qualquer coisa de acl deve ser fácil de manusear.

Obviamente, você não pode ter usuários com o mesmo nome no LDAP e local, então eu começaria colocando seus servidores fixos e a bordo com o diretório e, em seguida, passaria para os desktops.

    
por 15.10.2014 / 14:50