Este post se traspasará pronto a www.systerminal.com
Primero de todo vamos a definir bien el fqdn de nuestra maquina, para saber el nuestro:
hostname --fqdn
Si no está bien definido, lo configuraremos en /etc/hosts:
127.0.0.1 localhost
127.0.1.1 nombredemaquina.example.com nombredemaquina
Para instalar el servidor LDAP, donde tendremos toda la infofmación guardada, nos bajaremos el paquete slapd:
aptitude install slapd
A lo que solamente nos pedirá la contraseña del administrador de ldap. Pero
obviamente no es siempre lo suficiente, si no que tenemos que cambiar cosas como el nombre de base etc... Si ejecutamos slapcat veremos se las entradas son validas o incorrectas, en el segundo de ellos.
Para configurar el paquete slapd ejecutaremos:
dpkg-reconfigure slapd
Nos pedirá :
Nombre de dominio DNS: example.com
Nombre de la Organizacion:
Contrasena del administrador:
Motor de base de datos a utilizar: HDB
¿Permitir el protocolo LDAPv2?: No
Relleraremos según nos convenga y una vez configurado veremos con slapcat una salida así:
dn: dc=example,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: example.com
dc: example
structuralObjectClass: organization
entryUUID: 6795ae8a-ba4c-1031-9b61-8fa8adeb78d1
creatorsName: cn=admin,dc=example,dc=com
createTimestamp: 20121103215145Z
entryCSN: 20121103215145.196555Z#000000#000#000000
modifiersName: cn=admin,dc=example,dc=com
modifyTimestamp: 20121103215145Z
dn: cn=admin,dc=example,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword:: e1NTSEF9eWFJbXl1ZnNiZnl5S3pnN2ZjZWlXK3lJL2RkVjE2b0c=
structuralObjectClass: organizationalRole
entryUUID: 67a682e6-ba4c-1031-9b62-8fa8adeb78d1
creatorsName: cn=admin,dc=example,dc=com
createTimestamp: 20121103215145Z
entryCSN: 20121103215145.306828Z#000000#000#000000
modifiersName: cn=admin,dc=example,dc=com
modifyTimestamp: 20121103215145Z
Como vemos son dos entradas, la de la base y la del administrador.
A continuación vamos a crear dos contenedores, People y Group, con dos objetos dentro, usuarioldap y grupoldap.
Para ello vamos a meter los siguiente en un archivo .ldif (nuestro caso base.ldif):
dn: ou=People,dc=example,dc=com
ou: People
objectClass: top
objectClass: organizationalUnit
dn: ou=Group,dc=example,dc=com
ou: Group
objectClass: top
objectClass: organizationalUnit
dn: cn=grupoldap,ou=Group,dc=example,dc=com
objectClass: posixGroup
objectClass: top
cn: pruebag
gidNumber: 2000
dn: uid=usuarioldap,ou=People,dc=example,dc=com
uid: usuarioldap
cn: Usuario de prueba
objectClass: account
objectClass: posixAccount
objectClass: top
userPassword: {MD5}wb/BiNulnSaBZIqg5sqMjg==(se genera con slapasswd -h {MD5})
loginShell: /bin/bash
uidNumber: 2000
gidNumber: 2000
homeDirectory: /home/pruebau
gecos: Usu
Ahora tenemos que introducirlo en nuestra base de datos de LDAP, para ello nos descargaremos ldap-utils:
aptitude install ldap-utils
Una vez que está instalada lo introduciremos:
ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f base.ldif
El usuario que hemos creado no tiene directorio, así que lo crearemos y le asignaremos a él mismo como propietario:
mkdir /home/usuarioldap
cp /etc/skel/.* /home/usuarioldap
chown -R 2000:2000 /home/usuarioldap
Ya que el usuario 2000 no existe, aunque si en LDAP, este no lo detecta.
A continuación configuraremos un cliente LDAP , en nuestro caso, nuestro servidor.
Para configurar cualquier equipo de la red con LDAP nos iremos a /etc/ldap/ldap.conf (en el caso de que no exista, instalaremos libldap2) y añadiremos:
BASE dc=example,dc=com
URI ldap://127.0.0.1
Después vamos a configurar el sistema para que sea capaz de establecer la correspondencia entre los UID/GID y los nombres de los usuarios y los grupos que están en el directorio LDAP. Para ello vamos a configurar /etc/nsswitch.conf:
passwd: compat ldap
group: compat ldap
Como vemos vemoshemos añadido ldap en las dos filas.
Peroque el sistema sea capaz de consultar a un directorio LDAP, para ello debemos instalar el paquete libnss-ldap:
aptitude install libnss-ldap
Una vez instalado, configuraremos el paquete:
dpkg-reconfigure libnss-ldap
Allí nos preguntará:
Identificador del servidor LDAP: ldap://127.0.0.1/
Nombre distinguido (dn): dc=example,dc=com
Version de LDAP: 3
Cuenta del administrador: cn=admin,dc=example,dc=com
Contrasena del administrador
Una vez que está configurado el paquete, comprobaremos que todo está configurado correctamente, así que repetiremos el listado del directorio home del usuario que hicimos antes:
ls -al /home/usuarioldap/
Para configurar otros clientes que no sean el servidor, tendriamos que hacer los mismos pasos pero cambiando la ip.
Ahora instalaremos PAM que es el sistema modular que se encarga de las tareas de autenticacion en el sistema, cada aplicación que necesite comprobar la autenticacion de usuarios tendrá que hacer uso de él.
Para ello instalaremos :
aptitude install libpam-ldap
Después configuraremos ese paquete:
dpkg-reconfigure libpam-ldap
Y lo amoldaremos a nuestro gusto:
Identificador del servidor LDAP: ldap://127.0.0.1/Nombre distinguido (dn):dc=example,dc=com
Version de LDAP: 3
Local crypt to use when changing passwords: exop
Ahora seremos capaces de acceder al sistemas por mecanismos tales como ssh y otros mas.
Fuente: http://informatica.gonzalonazareno.org
No hay comentarios:
Publicar un comentario