Usando a autenticação openldap apenas para alguns usuários

1

Estou tentando configurar algumas estações de trabalho Linux (RedHat 7) e estou tentando descobrir como configurar a autenticação em um servidor LDAP com alguns requisitos incomuns.

Eu basicamente sei como configurar a autenticação LDAP usando o sssd, mas não sei como restringir a autenticação a apenas alguns usuários para atender às minhas necessidades.

Para ativar a configuração LDAP, eu usaria esta linha de comando:

authconfig --enableldap --enableldapauth --ldapserver="<redacted>" --ldapbasedn="<redacted>" --update --enablemkhomedir

Isso permitirá que todos os usuários LDAP façam logon e, até onde eu saiba, funciona muito bem. No entanto, minha exigência é que apenas alguns usuários do LDAP possam efetuar login, e a lista de usuários será fornecida em um arquivo de texto separado (pelo nome de login do usuário).

Mais informações: Temos um servidor LDAP (Active Directory, na verdade) com alguns milhares de usuários. Apenas cerca de 20 deles que precisam trabalhar nessas estações de trabalho devem ter permissão para fazer logon nessas estações de trabalho. Infelizmente, o LDAP não inclui nenhuma informação relacionada a isso e eu não tenho controle do servidor LDAP. Em vez disso, a cada duas semanas, recebo um arquivo de texto com uma lista dos nomes de usuários que devem ter permissão para fazer logon.

Como posso configurar a autenticação para usar o LDAP para o nome de usuário / senha / ID de usuário, etc., além de restringi-lo apenas aos usuários dessa lista?

    
por Kevin Keane 29.05.2017 / 02:04

2 respostas

1

Coloque esses usuários em um grupo e use uma regra pam_access em /etc/security/access.conf para permitir logins apenas se o usuário estiver nesse grupo (e também para root , sysadmins e monitoramento, se necessário), por exemplo

+ : root wheel nagios : ALL
+ : yourusergrouphere : ALL
- : ALL : ALL
    
por 29.05.2017 / 16:09
1

Eu encontrei duas maneiras de realizar o que eu precisava. O primeiro foi o delineado por thrig. Eu tive que adicionar cada nome de usuário individualmente para /etc/security/access.conf.

A segunda opção é especificar uma string de consulta LDAP em sssd.conf:

ldap_access_filter = (| (userid = user1) (userid = user2) .....)

A segunda solução é muito tediosa para construir, mas acaba tendo grandes benefícios de desempenho em grandes ambientes LDAP, porque o sssd só recuperará alguns registros LDAP.

    
por 31.05.2017 / 08:53