como conceder login de usuário do openLDAP somente em três servidores Linux

0

Eu tenho openldap ( phpldapadmin ) que sincroniza todos os usuários para servidores Debian Linux, se eu tentar adicionar usuário LDAP como usuário Linux, eu já tenho usuário de erro (eu sei que não é válido)

aabuhasna@qa:/$ who am i
aabuhasna pts/1        2016-06-16 03:38 (XXXXX)
aabuhasna@qa:/$ sudo adduser aabuhasna
[sudo] password for aabuhasna:
adduser: The user 'aabuhasna' already exists.
aabuhasna@qa:/$ cat /etc/passwd |grep aabuhasna
aabuhasna@qa:/$

No openldap se o usuário não tiver /bin/bash como loginshell , ele NÃO poderá logar em nenhum servidor, meu problema Eu quero que o usuário acesse apenas três servidores apenas com suas informações LDAP,

Minhas perguntas:

  • Posso adicionar o usuário a /etc/passwd como uma solução alternativa para que ele faça login. Se sim, por favor, dê conselhos sobre a maneira correta de adicioná-lo.
  • se a opção 1 não for válida (adicionar o usuário a /etc/passwd ) existe um arquivo que pode ser alterado para fazer exceções para esse uso.
por Ahmad Abuhasna 16.06.2016 / 13:24

2 respostas

0

Existem duas maneiras de realizar o que você está tentando realizar. A primeira é usar o módulo pam_access em cada servidor individual para permitir / não permitir o acesso por usuário. A segunda é usar a diretiva pam_check_host_attr em /etc/pam_ldap.conf , ativando isso em todos os servidores e, em seguida, criar um par attribute: value associado a um ID de usuário específico para cada servidor em que o usuário possa efetuar login.

Por exemplo, depois de habilitar isso em um nome de host "gárgula", se eu quiser que o usuário ben consiga acessar esse host, devo adicionar o par atributo / valor "host: gargoyle" a ben ' s entrada LDAP.

    
por 16.06.2016 / 13:36
0

A resposta de João funcionará.

Como alternativa, a instrução filter nas configurações nss_ldap ou nslcd permite filtrar usuários por filtros LDAP aleatórios; por exemplo,

filter passwd (|(uidNumber=1234)(gidNumber=1234))

Este exemplo só definirá usuários com uid ou gid '1234' na máquina atual. Você pode usar qualquer filtro LDAP válido aqui. A diferença com a solução de John é que, com isso, os usuários filtrados nem mesmo existirão nesse servidor (ou seja, getent passwd para esses usuários não retornará nada).

    
por 22.06.2016 / 17:34