Conectar Debian o derivado a LDAP

Imagen de jcalles

Tema: 

Hola, aqui comparto para los que no saben como claro.. como conectar debian o derivado a un servidor LDAP

Primero se debe modificar el nombre de la maquina a. Yo lo hago a traves del siguiente script


#!/bin/bash
#Dar permiso de ejecución al script chmod +x ./domain
############################################
#Este script puede modificarlo,copiarlo, eliminarlo, hacer lo que usted estime combeniente
#Licencia GPL
############################################

#Colores
ROJO="\033[1;31m"
VERDE="\033[1;32m"
AZUL="\033[1;34m"
BLANCO="\033[0;37m"

nombrehost=$1
nombrehostanterior=`cat /etc/hostname`
while [ ! "$nombrehost" ]
do
if [ ! "$nombrehost" ]
then
echo "Introduzca un nombre para el equipo sin puntos"
read nombrehost
echo $nombrehost
clear
else
echo "El equipo será integrado con el nombre '$nombrehost'"
fi
done
sed s/$nombrehostanterior/$nombrehost/g -i /etc/hostname

#sustituimos en el fichero hosts el anterior nombre por el nuevo
sed s/$nombrehostanterior/$nombrehost/g -i /etc/hosts

#si nuestro dominio emplea un servidor de dominio tb debemos modificar el fichero /etc/dhcp3/dhclient.conf.
echo "send host-name "'"'$nombrehost'"'"; " >> /etc/dhcp3/dhclient.conf

Actualizar y instalar los paquetes necesarios

aptitude update
aptitude install libnss-ldapd libpam-ldap nscd libpam-dotfile libpam-ccreds nss-updatedb libnss-db

Modificar el archivo /etc/security/group.conf para acceder a los dispositivos


echo "*; *; *; Al0000-2400; floppy, audio, video, plugdev, powerdev, games,disk, dialout, voice, fax, cdrom, floppy, tape, lp, lpadmin, netdev,saned, scanner">> /etc/security/group.conf

Modificar los archivos de segurudad de gdm,su, login,sshd para autenticar contra el ldap
# /etc/pam.d/gdm


echo "auth requisite pam_nologin.so">> /etc/pam.d/gdm
echo "auth required pam_env.so readenv=1">> /etc/pam.d/gdm
echo "auth required pam_env.so readenv=1 envfile=/etc/default/locale">> /etc/pam.d/gdm
echo "auth optional pam_group.so">> /etc/pam.d/gdm
echo "auth optional pam_group.so">> /etc/pam.d/login
echo "auth sufficient pam_ldap.so">> /etc/pam.d/sshd
echo "account sufficient pam_ldap.so">> /etc/pam.d/sshd
echo "session sufficient pam_ldap.so">> /etc/pam.d/sshd
echo "password sufficient pam_ldap.so">> /etc/pam.d/sshd
echo "auth sufficient pam_rootok.so" >> /etc/pam.d/su
echo "auth sufficient pam_ldap.so">> /etc/pam.d/su
echo "auth required pam_unix.so use_first_pass">> /etc/pam.d/su
echo "account sufficient pam_ldap.so">> /etc/pam.d/su
echo "account required pam_unix.so">> /etc/pam.d/su
echo "session sufficient pam_ldap.so">> /etc/pam.d/su
echo "session required pam_unix.so">> /etc/pam.d/su

################################################

if [ -f "/etc/pam.d/kdm" ];
then
echo "auth optional pam_group.so">> /etc/pam.d/kdm
fi

## Modificar el archivo ldap.conf , pam_ldap

echo "BASE dc=dominio,dc=gob,dc=ve">> /etc/ldap/ldap.conf
echo "URI ldap://IP:389">> /etc/ldap/ldap.conf

#########################################################3

echo "host IP">> /etc/libnss-ldap.conf
############################################################

echo "host IP">> /etc/pam_ldap.conf
echo "base dc=dominio,dc=gob,dc=ve">> /etc/pam_ldap.conf
echo "rootbinddn cn=admin,dc=dominio,dc=gob,dc=ve">> /etc/pam_ldap.conf
echo "uri ldap://IP:389">> /etc/pam_ldap.conf

#############################################################################

if [ -f "/etc/rcS.d/S40networking" ];
then
rm -rf /etc/rcS.d/S40networking
ln -s /etc/init.d/networking /etc/rcS.d/S09networking
addgroup --system nvram
addgroup --system tss
addgroup --system kvm
addgroup --system rdma
addgroup --system fuse
addgroup --system scanner
addgroup --system nvram
adduser --system tss
fi

exec nss_updatedb ldap passwd && nss_updatedb ldap group

Espero que a alguien le sirva, se aceptan sugerencias

en todo caso para verificar la conexion al ldap se puede hacer

dpkg-reconfigure libnss-ldapd y dpkg-reconfigure libpam-ldap