Autenticação LDAP para hosts: o mesmo usuário deve ter associações posixgroup diferentes ao fazer login em máquinas diferentes (hosts)

Autenticação LDAP para hosts: o mesmo usuário deve ter associações posixgroup diferentes ao fazer login em máquinas diferentes (hosts)

Alguma idéia de como atingir o seguinte objetivo com o servidor openLDAP com clientes unix

Objetivo: a) Cada usuário deve ter restrições de acesso separadas a diferentes hosts (servidores unix) por meio das configurações do servidor LDAP. b) Cada usuário conectado (se permitido) deve ter associações separadas ao posixgroup em máquinas diferentes com base nas configurações do servidor LDAP. Por exemplo, o usuário janaki deve ser um membro sudo posixgroup no servidor-1, mas não no servidor-2

Foi capaz de atingir o objetivo da parte A da seguinte forma:

Crie grupos separados (objectClass groupofNames) com atributos de membro para cada máquina/host que requerem restrições de acesso separadas para usuários, usando sobreposições LDAP (memberof e refint). Adicione usuários (posixAccount) a esses grupos (tipo groupofnames) no servidor LDAP para permitir acesso de autenticação a cada servidor. Na máquina cliente (servidor unix) adicione o filtro nss_base_passwd para testar memberof=cn=group-name (nome do grupo que representa este servidor no LDAP). Isso foi bem-sucedido e está funcionando.

O que é necessário é como alcançar a parte b? Ou seja, quais configurações são necessárias no servidor openldap e nos clientes unix para conseguir isso?

-atenciosamente Janaki

Responder1

Você pode usar a classe de objeto posixGroup no LDAP. Esta classe de objeto permite criar grupos que correspondem a grupos Unix em cada computador cliente. Você pode então adicionar usuários a esses grupos usando o atributo memberUid, que especifica o UID do usuário. Em máquinas clientes, você pode configurar o filtro nss_base_group no arquivo /etc/ldap.conf para recuperar objetos posixGroup do servidor LDAP. Isso permite que o computador cliente use as informações de associação ao grupo do servidor LDAP para determinar a associação dos usuários ao grupo Unix quando eles fazem logon. Outra coisa que posso sugerir é usar o módulo pam_ldap para autenticar usuários e definir sua associação ao grupo com base nas configurações do servidor LDAP quando eles fizerem login.

Editar 1(verifique os comentários para referência): Sim, você pode usar a classe de objeto posixGroup e o filtro nss_base_group para atingir o objetivo de ter diferentes associações de grupos Unix para diferentes usuários em diferentes máquinas clientes.

Para fazer isso, você pode criar objetos posixGroup no servidor LDAP para cada grupo que deseja usar nas máquinas clientes. Você pode então usar o atributo memberUid para especificar os UIDs dos usuários que são membros de cada grupo.

Nas máquinas clientes, você pode configurar o filtro nss_base_group no arquivo /etc/ldap.conf para recuperar os objetos posixGroup do servidor LDAP. Por exemplo, você pode adicionar a seguinte linha ao arquivo /etc/ldap.conf na máquina cliente:

nss_base_group  ou=Groups,dc=example,dc=com?one

Isso fará com que a máquina cliente pesquise na UO Grupos no servidor LDAP por objetos posixGroup e use as informações desses objetos para definir a associação ao grupo Unix para os usuários quando eles fizerem login.

Quanto ao uso do módulo pam_ldap para autenticar usuários e definir sua associação ao grupo com base nas configurações do servidor LDAP quando eles fazem login, é possível fazer isso. O módulo pam_ldap pode ser configurado para usar o servidor LDAP para autenticar usuários e definir sua associação ao grupo quando eles fizerem login na máquina cliente.

Para usar o módulo pam_ldap, você pode adicionar a seguinte linha ao arquivo /etc/pam.d/common-auth na máquina cliente:

auth sufficient pam_ldap.so

Isso fará com que o módulo pam_ldap autentique os usuários que usam o servidor LDAP e defina sua associação ao grupo com base nas informações do servidor LDAP.

informação relacionada