LDAP son las siglas de Lightweight Directory Access Protocol (en español Protocolo Ligero/Simplificado de Acceso a Directorios) que hacen referencia a un protocolo a nivel de aplicación que permite el acceso a un servicio de directorio ordenado y distribuido para buscar diversa información en un entorno de red. LDAP también se considera una base de datos (aunque su sistema de almacenamiento puede ser diferente) a la que pueden realizarse consultas. (Wikipedia, 2010)
Samba es una implementación libre del protocolo de archivos compartidos de Microsoft Windows (antiguamente llamado SMB, renombrado recientemente a CIFS) para sistemas de tipo UNIX. De esta forma, es posible que computadoras con GNU/Linux, Mac OS X o Unix en general se vean como servidores o actúen como clientes en redes de Windows. Samba también permite validar usuarios haciendo de Controlador Principal de Dominio (PDC), como miembro de dominio e incluso como un dominio Active Directory para redes basadas en Windows; aparte de ser capaz de servir colas de impresión, directorios compartidos y autentificar con su propio archivo de usuarios. (Wikipedia, 2010)
Para instalar un servidor de LDAP con soporte de Samba, debemos seguir los siguientes pasos:
aptitude install slapd ldap-utils
Cualquiera, será reconfigurado.
Continuando
dpkg-reconfigure slapd
Omitir la configuración de OpenLDAP: no
Nombre de dominio: cs.inet
Nombre de organización: cms
Contraseña del admin: XXXXX
Confirme la contraseña del admin: XXXXX
Motor de base de datos a utilizar: BDB
Borrar la base de datos al purgar slapd: no
Mover la base de datos antigua: si
Permitir LDAP v2: si
Continuando
/etc/init.d/slapd restart
Para probar ejecutar en el terminal
ldapsearch -x -b "dc=cs,dc=inet"
Continuando
aptitude install apache2
Para probar consultar en el navegador la URL: http://ip_servidor_pdc
aptitude install smbldap-tools
aptitude install phpldapadmin php5-ldap
Para probar consultar en el navegador la URL: http://ip_servidor_pdc/phpldapadmin
aptitude install build-essential
cd /usr/src/
wget http://sourceforge.net/projects/ldaputils/files/Contrib/mkntpwd/mkntpwd.tar.gz
tar -xzvf mkntpwd.tar.gz
make
cp mkntpwd /usr/local/bin
Para probar ejecutar en el terminal
mkntpwd
Continuando
aptitude install samba samba-doc
Nombre del dominio: cs.inet
Usar passwords encriptados: si
Modificar smb.conf para que use la configuración WINS proveniente de DHCP: no
Continuando
cd /usr/share/doc/samba-doc/examples/LDAP
gunzip samba.schema.gz
cp samba.schema /etc/ldap/schema
Modificar /etc/ldap/slapd.conf según LDAP-Samba (Parte 2): Archivos de configuración
/etc/init.d/slapd restart
Aplicar Crear unidades organizacionales según LDAP-Samba (Parte 3): Operaciones phpldapadmin
mkdir -p /home/samba/netlogon
mkdir -p /home/samba/profiles
chmod 777 -R /home/samba/profiles
Modificar /etc/samba/smb.conf según LDAP-Samba (Parte 2): Archivos de configuración
Para probar ejecutar en el terminal y verificar que la configuración no tenga errores
testparm
Continuando
smbpasswd -w XXXXX
/etc/init.d/samba restart
Para probar consultar en el navegador la URL: http://ip_servidor_pdc/phpldapadmin y verificar la entrada en el arbol sambaDomainName=CS.INET
Aplicar Mapear los 4 grupos principales según LDAP-Samba (Parte 3): Operaciones phpldapadmin
aptitude install libnss-ldap
Cualquiera, será reconfigurado.
Continuando
dpkg-reconfigure libnss-ldap
Servidor de LDAP: ldap:///127.0.0.1
Nombre distintivo (DN): dc=cs,dc=inet
Versión de LDAP: 3
Se requiere usuario para la base de datos LDAP: no
Privilegios especiales de LDAP para root: si
Configuración leíble y escribible sólo para el propietario: si
Cuenta LDAP para root: cn=admin,dc=cs,dc=inet
Contraseña para la cuenta LDAP de root: XXXXX
Modificar /etc/nsswitch.conf según LDAP-Samba (Parte 2): Archivos de configuración
Para probar ejecutar en el terminal
getent group
Continuando
aptitude install libpam-ldap
dpkg-reconfigure libpam-ldap
Servidor de LDAP: ldap:///127.0.0.1
Nombre distintivo (DN): dc=cs,dc=inet
Versión de LDAP: 3
Make local root Database admin: si
Se requiere usuario para la base de datos LDAP: no
LDAP account for root: cn=admin,dc=cs,dc=inet
Contraseña para la cuenta LDAP de root: XXXXX
Local crypt to use when changing passwords: md5
Modificar /etc/pam.d/common-account, /etc/pam.d/common-auth y /etc/pam.d/common-password según LDAP-Samba (Parte 2): Archivos de configuración
aptitude install nscd
/etc/init.d/samba restart
Aplicar Agregando usuarios según LDAP-Samba (Parte 3): Operaciones phpldapadmin
Para probar ejecutar en el terminal
getent passwd
Continuando
cd /usr/share/doc/smbldap-tools/examples
cp smbldap.conf.gz smbldap_bind.conf /etc/smbldap-tools
cd /etc/smbldap-tools
gunzip smbldap.conf.gz
chown root:root *
chmod 600 *
Modificar /etc/smbldap-tools/smbldap_bind.conf y /etc/smbldap_tools/smbldap.conf según LDAP-Samba (Parte 2): Archivos de configuración
Aplicar Uniendo máquinas al dominio según LDAP-Samba (Parte 3): Operaciones phpldapadmin
Wikipedia. (18 de agosoto de 2010). Protocolo Ligero de Acceso a Directorios. Recuperado de: https://es.wikipedia.org/wiki/Protocolo_Ligero_de_Acceso_a_Directorios
Wikipedia. (18 de agosoto de 2010). Samba (programa). Recuperado de: https://es.wikipedia.org/wiki/Samba_(programa)