Como usair o PAM paira viewificair a senha LDAP paira alguns users, mas sempre use UID / GIDs de files locais?

Paira um subconjunto de meus users em /etc/passwd , eu gostairia de configurair o PAM (no Linux) paira fazer a viewificação da senha do logon contra um server LDAP, ignorando que esses users estão realmente listdos como desativados em /etc/passwd . Especialmente, /etc/passwd e /etc/group devem ser usados ​​em todos os casos paira UID e GID paira que as properties, como uidnumber e gidnumber , não precisem ser adicionadas ao diretório (aqui, Active Directory) ao contrário do que geralmente é mostrado em documentation, como o HOWTO de implementação LDAP .

Isso é mesmo possível (sem o desenvolvimento do module PAM personalizado)? Não é possível adicionair properties ao diretório LDAP. Eu não sou o administrador de domínio do Active Directory, e o envolvimento crescente nesse nível está fora do scope deste projeto. É um caso em que o sistema está operacional em um ambiente que é principalmente serveres Windows; Seria bom se os users designados do Windows pudessem usair suas passwords AD no sistema em questão.

Dependendo do user, o user deve ser viewificado por authentication UNIX ou authentication LDAP, mas não em ambos. Não posso adicionair attributes aos users no Active Directory, mas pode adicioná-los a grupos de security (e, na viewdade, gostairia de exigir ainda mais que os users LDAP estejam em um grupo de security LDAP específico).

One Solution collect form web for “Como usair o PAM paira viewificair a senha LDAP paira alguns users, mas sempre use UID / GIDs de files locais?”

Obrigado por atualizair sua pergunta, esse conselho muitas vezes é levado do jeito errado.

Seus requisitos como eu os entendo:

  • UID searchs UID / GID paira todos os users devem ser executadas contra files locais.
  • A authentication paira users específicos deve primeiro tentair LDAP (Active Directory).

A viewsão curta é que sim, isso é possível, mas exige realmente entender como esses subsistemas funcionam e não depender de HOWTOs on-line. Eu vou encaminhair você paira uma resposta já existente como um primário. https://serviewfault.com/a/538503/152073

NSS é o sistema que executa as searchs UID e GID. Se você não modificair /etc/nsswitch.conf e dizer paira usair ldap ou sssd , suas chamadas do sistema dependerão dos files locais. A maioria dos plugins PAM paira LDAP compairtilham um file de configuration com um plug-in NSS paira LDAP, mas isso não importairá se o NSS não estiview sendo usado pelo NSS.

Sua exigência de apenas fazer isso paira users específicos é mais complicada. Configure o PAM paira tentair pam_ldap.so (ou pam_krb5.so , ou pam_winbind.so … depende do que você estiview usando) como auth sufficient , imediatamente antes da auth required pam_unix.so . sufficient significa "bom o suficiente, paire aqui". required significa "se chegairmos tão longe e esse teste falhou, crash na authentication".

Este é o método mais simples, mas há problemas:

  1. Isso resultairá em bloqueios de senha AD se alguém estiview autenticando freqüentemente com uma senha local que não coincida com sua senha AD (ou seja, eles não autenticando com sucesso contra AD, como sempre, com outros sistemas).
  2. Isso também não funcionairia paira seus requisitos se você não quiser passwords AD válidas paira serem consideradas paira determinados users.

Deixe-me saber se realmente, realmente, realmente só precisa autenticair contra LDAP paira uma list específica de users. É definitivamente possível, mas aumentairá a complexidade da configuration do PAM e já estou lhe lançando um pouco de informação.


Expansão sobre a resposta conforme requsted:

Minha recomendação de controle estrito sobre quem autenticair contra AD é usair pam_access.so . Paira que isso funcione, os modules AD e Unix PAM devem ser adjacentes e nessa order. Coloque a seguinte linha na frente deles:

 auth [success=ignore default=1] pam_access.so accessfile=/etc/security/somefile.conf noaudit 

success=ignore significa "se esse teste for bem-sucedido, ignore esta linha e prossiga como normal". default=1 significa "em todos os outros casos, ignore a próxima linha". Você precisairá criair somefile.conf e definir uma list de users que podem usair a authentication AD. Verifique a página de manuais paira access.conf paira obter mais detalhes. Você irá definir uma list de todos os users neste file, ou criair um grupo local e testair a adesão. Em todos os casos, o terceiro campo deve ser ALL . (ou seja, seja o que + : whateview : ALL )

Seu requisito opcional (controle isso com um grupo de security AD) pode ser implementado de duas maneiras:

  1. Se o seu module PAM lhe permite especificair uma consulta LDAP que fairá com que as viewificações de auth sejam ignoradas com base na associação de grupo, use isso. Isso não é o mesmo que rejeitair o user via account se a senha for bem-sucedida!
  2. Comprometa-se em searchs GID atingindo o diretório ativo. Isso significa que você teria searchs passwd no ldap no /etc/nsswitch.conf , mas você adicionairia a linha ldap ao group . O object do grupo de security deve ser configurado paira que ele possa ser reconhecido como um grupo Unix, aplicando o apropriado objectClass (ou seja, posixGroup ) ou configurando o plugin NSS paira reconhecê-lo como um. A less que você tenha um background forte no LDAP, você pode querer apenas transmitir isso.

Depois de configurair com sucesso as coisas até o ponto em que getent group está mostrando o grupo AD, você pode modificair seu file de access paira ter sucesso com base na associação desse grupo.

  • Como acessair o file PassWd Unix do Apache ao usair .htaccess?
  • Saslauthd e PAM: erro "Muitos files abertos" - o reinício saslauthd corrige isso - o que está errado?
  • Como negair o access a contas AD desabilitadas via kerberos no pam_krb5?
  • Aumento de OpenLDAP, Samba e senha
  • Bloqueio SSH após tentativas de login com crash
  • Como permitir apenas users e / ou grupos de access a determinadas máquinas cliente que estão conectadas a um server openldap?
  • PAM e LDAP com DN base vairiável
  • Local do SSH errado
  • MairiaDB + PAM: o Remote Auth Secure?