Version 12 (modified by anônimo, 14 anos atrás) (diff)

--

Configurando um servidor LDAP para autenticação de estações Linux

Configurando o servidor

Para configurar um servidor Ldap é importante saber o endereço de IP e o nome de domínio do servidor. Instale o pacote slapd, que é o servidor ldap, e ldap-utils, uma ferramenta que auxiliará ao adicionar, remover e pesquisar na base dados.

sudo apt-get install slapd ldap-utils

Edite o arquivo /etc/ldap/slapd.conf e escolha um dc para seu servidor. A seguir um exemplo do mínimo necessário em nosso servidor.

# This is the main slapd configuration file. See slapd.conf(5) for more
# info on the configuration options.

#######################################################################
# Global Directives:

# Features to permit
#allow bind_v2

# Schema and objectClass definitions
include         /etc/ldap/schema/core.schema
include         /etc/ldap/schema/cosine.schema
include         /etc/ldap/schema/nis.schema
include         /etc/ldap/schema/inetorgperson.schema
include         /etc/ldap/schema/autofs.schema

# Schema check allows for forcing entries to
# match schemas for their objectClasses's
schemacheck     on

# Where the pid file is put. The init.d script
# will not stop the server if you change this.
pidfile         /var/run/slapd/slapd.pid

# List of arguments that were passed to the server
argsfile        /var/run/slapd.args

# Read slapd.conf(5) for possible values
loglevel        0

# Where the dynamically loaded modules are stored
modulepath      /usr/lib/ldap
moduleload      back_ldbm

database       ldbm

# The base of your directory for database #2
suffix          "dc=maquina,dc=dominio,dc=com"
rootdn "cn=admin,dc=maquina,dc=dominio,dc=com"

# Cleartext passwords, especially for the rootdn, should
# be avoided.  See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
# Root password can be created with:
# perl  -e "print crypt(thisp, ac,)" > pass.txt
# rootpw         thisp
rootpw          {crypt}acunRNwFPEdHQ

directory       "/var/lib/ldap"
index           objectClass eq
lastmod         on
replogfile    /var/lib/ldap/replog

access to attribute=userPassword
        by dn="cn=admin,dc=maquina,dc=dominio,dc=com" write
        by anonymous auth
        by self write
        by * none
access to dn.base="" by * read
access to *
        by dn="cn=admin,dc=maquina,dc=dominio,dc=com" write
        by * read

Configurando clientes no servidor

Para que o servidor saiba quem são os clientes, deve-se insir algumas entradas. Crie um arquivo base.ldif:

# Raiz
dn: dc=maquina,dc=dominio,dc=com
objectclass: organization
objectclass: dcObject
o: maquina.dominio.com
dc: uni02

#O administrador
dn: cn=admin, dc=dominio, dc=maquina, dc=com
objectclass: organizationalRole

#Nó onde ficaram as pessoas
dn: ou=People, dc=maquina, dc=dominio, dc=com
ou: People
objectclass: organizationalUnit

#Nó onde ficaram os grupos
dn: ou=group, dc=maquina, dc=dominio, dc=com
ou: group
objectclass: organizationalUnit

Adicione o arquivo:

ldapadd -x -D 'cn=admin,dc=maquina,dc=dominio,dc=com' -W -f init.ldif

Inserindo clientes no servidor


Configurando o NFS no servidor

É necessária a exportação do diretório /home/LDAP/. Para isso deve-se configurar o NFS (Network Filesystem). Instale o servidor:

sudo apt-get install nfs-kernel-server

Edite as exportações, inserindo no arquivo /etc/exports

/home/LDAP 10.*.*.*(rw)

Nesse caso o servidor esta configurado para exportar o diretório (/home/LDAP) para toda rede interna (10.*.*.*) com acesso de leitura e escrita (rw). Configure adaptando a sua situação.
Reinicie o serviço:

sudo /etc/init.d/nfs-kernel-server stop
/etc/init.d/portmap restart
/etc/init.d/nfs-kernel-server start

Sobre o autofs

Para a exportação utilizaremos exportação sob demanda. Se todo o diretorio /home/LDAP fosse exportado pelo servidor e fosse inserido no arquivo /etc/fstab a linha:
server:/home/ldap /home/ldap nfs rsize=8192,wsize=8192,timeo=14,intr
Toda a pasta seria importada pelo cliente, o que geraria um sobrecarregamento da rede. Para melhorar esse sistema, a exportação sob demanda importa apenas o necessário. Utiliza-se o autofs para essa finalidade.
Um mapeamento é necessário para o autofs, assim o servidor exporta toda a pasta /home/LDAP/, os usuarios através do mapeamento sabem como os diretórios estão compostos nessa pasta e pedem ao servidor apenas a pasta necessária. Por default os arquivos do mapeamento são configurados em /etc/auto.master (instalado com o pacote autofs) mas para isso seria necessário copiar o arquivo para cada estação de trabalho e além disso seria necessário copiar o conteúdo desse arquivo para cada estação de trabalho toda vez que um usuário fosse inserido. Para melhorar o sistema, usa-se o ldap para ser o servidor de mapeamento do autofs. A situação final é: o servidor exporta a pasta /home/LDAP e exporta também o mapeamento. Os clientes são informados do mapeamento e montam apenas a sua pasta pessoal.

Instale os pacotes:

sudo apt-get install autofs autofs-ldap

No servidor, inclua o esquema autofs no arquivo /etc/ldap/slapd.conf

include         /etc/ldap/schema/autofs.schema

Reinicie o servidor:

sudo /etc/init.d/slapd restart

Crie um arquivo automountbase.ldif com as entradas do mapeamento:

dn: ou=auto.master,dc=maquina,dc=dominio,dc=com
objectClass: top
objectClass: automountMap
ou: auto.master

dn: ou=auto.home,dc=maquina,dc=dominio,dc=com
objectClass: top
objectClass: automountMap
ou: auto.home

dn: cn=/home/LDAP/, ou=auto.master,dc=maquina,dc=dominio,dc=com
objectClass: automount
automountInformation: ldap:ou=auto.home,dc=uni02,dc=unisys,dc=com --timeout 60
cn: /home/LDAP/

Essas são as estruturas de diretórios básicas do mapeamento. Popule o servidor com alguns clientes:

dn: cn=usuario1,ou=auto.home,dc=maquina,dc=dominio,dc=com
objectClass: automount
automountInformation: -rw,hard,intr servidor:/home/LDAP/usuario1
cn: LDAP

dn: cn=usuario2,ou=auto.home,dc=maquina,dc=dominio,dc=com
objectClass: automount
automountInformation: -rw,hard,intr servidor:/home/LDAP/usuario2
cn: usuario2

Os campos automountinformation possuem as informações para os clientes montarem suas pastas pessoais.


Veja como configurar os clientes em: ComoConfigurarSistemaDeLogin

 

The contents and data of this website are published under license:
Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual.