Faça login usando o Active Directory no Linux usando o Kerberos 5

5

Eu tenho um problema com a configuração de autenticação para usuários no Linux (Fedora Core 15 para ser exato) usando o Active Directory no Windows 2008 Server com suporte instalado para sistemas UNIX. Eu configurei com êxito o Kerberos, testei usando kinit -p <login> e klist para ver o ticket. Mas ainda não consigo fazer login.

Para reduzir respostas inúteis para mim: nenhum Samba, Winbind, Da mesma forma ou outro software permitido. Somente NIS / LDAP permitido.

Esclarecimento: desejo configurar a máquina do cliente com acesso local e SSH.

Atualização: configurei o acesso do AD por meio do LDAP, getent passwd 106289gm e getent shadow fornecem respostas válidas, mas getent group não mostra grupos do AD.

    
por Migol 11.06.2011 / 22:53

4 respostas

2

Se você quiser "o caminho mais fácil", eu tive algumas boas experiências com system-config-authentication e Winbind fazendo isso da maneira GUI. Obviamente, isso não é expressamente Kerberos, então me diminua apropriadamente se você se sentir inclinado. Você pode fazer o Winbind, mas também permite expressamente o LDAP se ele se adequar melhor às suas necessidades. Eu recebo um erro vermelho sinistro sobre as bibliotecas NSS-LDAP,

The /lib64/libnss_ldap.so.2 file was not found, but it is required for LDAP support to work properly. Install the nss-pam-ldapd package, which provides this file.

mas tenho certeza que você pode instalar isso com o yum com um mínimo de esforço. Você diz que quer o Kerberos, mas que apenas o NIS / LDAP é permitido. Então, por que não apenas acessar o AD como se fosse o LDAP? Isso é definitivamente possível na minha experiência. Também oferece a opção de configurar o Kerberos. Veja a imagem.

Dica,sugestão,éFedora15,nãoFedoraCore,enãofoi"Core" para um bom tempo . Eu não farei piadas sobre o inchaço em relação à mudança de nome (como um usuário bastante dedicado do Fedora).

    
por 12.06.2011 / 15:10
1

Uma coisa é ser autenticado pelo kerberos, outra coisa é poder fazer o login. Para fazer login, você precisa:

  1. Autenticação válida (parcialmente concluída: fornecida pelo kerberos. Deve verificar se o pam login / auth considera isso suficiente)
  2. Userid e groupid válidos (normalmente fornecidos pelo winbind, da mesma forma, ldap, Centrify, serviços do AD para unix. Ou localmente nos arquivos / etc / passwd, / etc / group)
  3. Entradas de pesquisa válidas e ordem em /etc/nsswitch.conf, para usuário e grupo.
  4. Concha e casa válidas (normalmente pré-criadas ou montadas automaticamente)

Observação 1: Como você pode fazer getent passwd , mas não getent group , suspeito que você esteja usando a abordagem LDAP para mapeamento de serviços do Active Directory para Unix. Você tem um conjunto válido de gid para o domínio \ Domainusers? AFAIK, o Kerberos não fornece (ou verifica) grupos. Capaz de ver entradas uid significa que o LDAP está mapeando corretamente, mas as entradas do gid podem não estar no LDAP.

Nota 2: Há também um limite para o número de entradas que o LDAP pode retornar em uma única consulta e, possivelmente, algum tempo necessário para obter os resultados. Você esperou tempo suficiente? Você pode verificar as entradas especificamente, como getent passwd user1 , getent passwd Domain\user1 , getent group domain-groupname-shown-in-getent-passwd . Isso deve ignorar o tempo de pesquisa ou até o tempo limite.

    
por 20.06.2011 / 03:12
0

Qual versão do AD você está usando? Dependendo da versão, extensões para o esquema padrão precisam ser instaladas ou ativadas. Os usuários que estiverem autenticando em sistemas Linux precisarão de parâmetros adicionais configurados no AD.

Além disso, é difícil dar ajuda sem ver seus arquivos de configuração e sem saber que mensagem de erro específica você está vendo nos registros de autenticação. Se você conseguir obter um ticket com sucesso, isso provavelmente significa que suas configurações do Kerberos estão corretas. Mas, pam, nsswitch e ldap devem todos ser configurados corretamente também.

O tcpdump também pode ser muito útil nessas situações. Às vezes, as mensagens de erro não são muito úteis e pode ser muito útil observar a conversa diretamente na conexão.

    
por 12.06.2011 / 00:54
0

Você ativou o login do Kerberos no PAM?

Procure em /etc/pam.d/system-auth por uma linha que diz "auth sufficient pam_krb5.so" (ou algo semelhante nessas linhas). Se você não o visualizar, execute authconfig --enablekrb5 --update , verifique se uma linha como essa aparece no arquivo e tente efetuar login novamente.

    
por 12.06.2011 / 09:39