<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Instalaci%C3%B3n_de_Samba_y_OpenLDAP_en_Debian</id>
	<title>Instalación de Samba y OpenLDAP en Debian - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Instalaci%C3%B3n_de_Samba_y_OpenLDAP_en_Debian"/>
	<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Instalaci%C3%B3n_de_Samba_y_OpenLDAP_en_Debian&amp;action=history"/>
	<updated>2026-10-27T05:17:48Z</updated>
	<subtitle>Historial de revisiones de esta página en la wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://manuais.iessanclemente.net/index.php?title=Instalaci%C3%B3n_de_Samba_y_OpenLDAP_en_Debian&amp;diff=28623&amp;oldid=prev</id>
		<title>Veiga: /* Configuración de smbldap-tools */</title>
		<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Instalaci%C3%B3n_de_Samba_y_OpenLDAP_en_Debian&amp;diff=28623&amp;oldid=prev"/>
		<updated>2012-05-20T15:24:54Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Configuración de smbldap-tools&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Instalación de OpenLDAP =&lt;br /&gt;
Vamos a instalar OpenLDAP en Debian:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Para instalar openldap y utilidades&lt;br /&gt;
apt-get install slapd ldap-utils&lt;br /&gt;
&lt;br /&gt;
# Durante la instalación definimos una contraseña para el administrador&lt;br /&gt;
&lt;br /&gt;
# Si queremos configurar parámetros adicionales después de la instalación podremos hacerlo con:&lt;br /&gt;
dpkg-reconfigure --priority=low slapd&lt;br /&gt;
&lt;br /&gt;
# Pulsaremos en No y a continuación escribiremos el nombre del dominio DNS.&lt;br /&gt;
# Seguiremos contestando al resto de preguntas.&lt;br /&gt;
# Escogeremos LDAPv2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una herramienta muy interesante para consultar la información de la base de datos DBD (Berkeley DB) se puede hacer con:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
slapcat&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Instalación de SAMBA con LDAP =&lt;br /&gt;
&lt;br /&gt;
Vamos a instalar Samba y utilidades para LDAP:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install samba smbclient smbldap-tools smbfs&lt;br /&gt;
&lt;br /&gt;
# Una vez todo instalado le vamos a decir que la máquina se autentifique contra el propio LDAP.&lt;br /&gt;
# Tendremos que instalar previamente una librería para integrar la información del DNS y del LDAP en el&lt;br /&gt;
# propio LDAP.&lt;br /&gt;
apt-get install libnss-ldap&lt;br /&gt;
&lt;br /&gt;
# Nombre distintitivo para la base de las búsquedas:&lt;br /&gt;
dc=sanclemente, dc=local&lt;br /&gt;
&lt;br /&gt;
# Versión de LDAP a usar: &lt;br /&gt;
Versión 3.&lt;br /&gt;
&lt;br /&gt;
# Cuenta LDAP del administrador:&lt;br /&gt;
cn=admin, dc=sanclemente, dc=local&lt;br /&gt;
&lt;br /&gt;
# Contraseña del usuario admin:&lt;br /&gt;
*******&lt;br /&gt;
&lt;br /&gt;
# Modificaremos el fichero nsswitch.conf a mano:&lt;br /&gt;
nano /etc/nsswitch.conf&lt;br /&gt;
&lt;br /&gt;
# Ejecutaremos de nuevo dpkg-reconfigure por si tenemos opciones adicionales de configuración:&lt;br /&gt;
dpkg-reconfigure --priority=low libnss-ldap&lt;br /&gt;
&lt;br /&gt;
# Aquí creamos un usuario nuevo (sólo para leer) ya que el administrador ya está creado.&lt;br /&gt;
....&lt;br /&gt;
# Crearemos el nuevo usuario con privilegios de sólo lectura:&lt;br /&gt;
cn=usuario,dc=sanclemente,dc=local&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Instalación de LIBPAM con LDAP =&lt;br /&gt;
Con la librería LIBPAM de autentificación de Linux le añadimos la librería de autenticación LDAP:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install libpam-ldap libpam-cracklib libpam-dotfile ldapscripts&lt;br /&gt;
&lt;br /&gt;
# Volvemos a crear los dos usuarios de admin y un usuario adicional con permisos sólo de lectura:&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
# Volvemos de nuevo a ejecutar el reconfigure en búsqueda de opciones adicionales:&lt;br /&gt;
dpkg-reconfigure --priority=low libpam-ldap&lt;br /&gt;
&lt;br /&gt;
# Escogeremos el mecanismo de encriptación de contraseñas en el LDAP.&lt;br /&gt;
# Escogeremos la opción exop (el LDAP es el que decidirá), es la mejor opción.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Configuración adicional de librerías =&lt;br /&gt;
Revisión de las librerías recién instaladas:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
nano /etc/libnss-ldap.conf&lt;br /&gt;
&lt;br /&gt;
# Comprobamos la opción de rootbinddm que está correctamente configurada.&lt;br /&gt;
rootbinddm cn=admin, dc=sanclemente,dc=local&lt;br /&gt;
&lt;br /&gt;
# Comprobamos otro fichero dónde se almacena la contraseña del usuario admin:&lt;br /&gt;
nano /etc/libnss-ldap.secret&lt;br /&gt;
&lt;br /&gt;
# Revisamos estos permisos&lt;br /&gt;
chmod 644 /etc/libnss-ldap.conf&lt;br /&gt;
chmod 600 /etc/libnss-ldap.secret&lt;br /&gt;
&lt;br /&gt;
# Editamos el fichero pam_ldap.conf y comprobamos el binddn&lt;br /&gt;
nano /etc/pam_ldap.conf&lt;br /&gt;
&lt;br /&gt;
binddn cn=conexion,dc=sanclemente,dc=local&lt;br /&gt;
&lt;br /&gt;
bindpw usuario (clave del usuario que puede conectarse al ldap en modo lectura).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Creación de un usuario en el LDAP =&lt;br /&gt;
&lt;br /&gt;
Se suele crear un archivo con los datos y se importa:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
nano usuario.ldif&lt;br /&gt;
&lt;br /&gt;
# Introducimos los datos del usuario:&lt;br /&gt;
dn: cn=usuario, dc=sanclemente,dc=local&lt;br /&gt;
objectClass: simpleSecurityObject&lt;br /&gt;
objectClass: organizationalRole&lt;br /&gt;
cn: usuario&lt;br /&gt;
description: LDAP Usuario&lt;br /&gt;
userPassword: xxxx&lt;br /&gt;
&lt;br /&gt;
# Grabamos el archivo y lo importamos en el LDAP con:&lt;br /&gt;
ldapadd -x -D &amp;quot;cn=admin,dc=sanclemente,dc=local&amp;quot; -w admin -f usuario.ldif&lt;br /&gt;
&lt;br /&gt;
# -x conexión no segura&lt;br /&gt;
# -w contraseña de admin&lt;br /&gt;
# -f el fichero a importar&lt;br /&gt;
# Si hacemos a continuación slapcat veremos todas las entradas del LDAP&lt;br /&gt;
slapcat&lt;br /&gt;
&lt;br /&gt;
# Para modificar la clave de usuario se hace con:&lt;br /&gt;
ldappasswd -x -D &amp;quot;cn=admin,dc=sanclemente,dc=local&amp;quot; -w admin -s usuario &amp;quot;cn=usuario,dc=sanclemente,dc=local&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# -w contraseña del usuario con el que te conectas&lt;br /&gt;
# -s contraseña del nuevo usuario&lt;br /&gt;
&lt;br /&gt;
# Vamos al directorio de configuración /etc:&lt;br /&gt;
# Creamos un enlace simbólico a pam_ldap.secret&lt;br /&gt;
ln -s /etc/pam_ldap.secret /etc/ldap.secret&lt;br /&gt;
&lt;br /&gt;
# Dentro de /etc/ldap:&lt;br /&gt;
nano  /etc/ldap/slapd.conf&lt;br /&gt;
&lt;br /&gt;
# Al final del archivo añadimos el algoritmo de criptografía que queremos usar para las claves:&lt;br /&gt;
# Le indicamos que escogemos como algoritmo de encriptación:&lt;br /&gt;
password-hash {SSHA}&lt;br /&gt;
&lt;br /&gt;
# También se definen los accesos:&lt;br /&gt;
en access to...&lt;br /&gt;
&lt;br /&gt;
#Añadimos:&lt;br /&gt;
by dn=&amp;quot;cn=admin,dc=sanclemente,dc=local&amp;quot;  write&lt;br /&gt;
by dn=&amp;quot;cn=usuario,dc=sanclemente,dc=local&amp;quot;  read&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Con el comando slaptest detectamos errores en los ficheros de configuración&lt;br /&gt;
slaptest&lt;br /&gt;
&lt;br /&gt;
# Reiniciamos el servicio:&lt;br /&gt;
/etc/init.d/slapd restart&lt;br /&gt;
&lt;br /&gt;
# Haremos un cambio del nsswitch:&lt;br /&gt;
# Comprobamos previamente que al poner hostname, el nombre del host aparece en /etc/hosts&lt;br /&gt;
# con 127.0.0.1. Si no apareciera lo tenemos que poner.&lt;br /&gt;
&lt;br /&gt;
# Editaremos por último /etc/nsswitch.conf&lt;br /&gt;
nano /etc/nsswitch.conf&lt;br /&gt;
&lt;br /&gt;
# Hacemos los siguientes cambios:&lt;br /&gt;
passwd:         files ldap&lt;br /&gt;
group:            files ldap&lt;br /&gt;
shadow:         files ldap&lt;br /&gt;
hosts:             files ldap dns&lt;br /&gt;
&lt;br /&gt;
# Para comprobar que funciona todo bien después de ésto:&lt;br /&gt;
# Dame entero el passwd (nos da todo lo que contiene el files + el ldap)&lt;br /&gt;
getent passwd&lt;br /&gt;
&lt;br /&gt;
# Si ésto funciona entonces va todo bien en principio.&lt;br /&gt;
# Saldrán todos los usuarios del tipo POSIX Account.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Editaremos ahora todos los ficheros del PAM:&lt;br /&gt;
nano /etc/pam.d/common-account&lt;br /&gt;
&lt;br /&gt;
# Añadimos la última línea:&lt;br /&gt;
account required    pam_unix.so&lt;br /&gt;
account sufficient   pam_ldap.so use_firts_pass&lt;br /&gt;
&lt;br /&gt;
# Modificamos también el fichero common-auth:&lt;br /&gt;
nano /etc/pam.d/common-auth&lt;br /&gt;
&lt;br /&gt;
# Añadimos la siguiente líneas de reglas para regular la autentificación:&lt;br /&gt;
auth sufficient  pam_unix.so&lt;br /&gt;
auth sufficient pam_ldap.so use_first_pass&lt;br /&gt;
auth required pam_env.so&lt;br /&gt;
auth required pam_securetty.so&lt;br /&gt;
auth required pam_unix_auth.so&lt;br /&gt;
auth required pam_warm.so&lt;br /&gt;
auth required pam_deny.so&lt;br /&gt;
&lt;br /&gt;
# Editamos el fichero /etc/pam.d/common-session:&lt;br /&gt;
nano /etc/pam.d/common-session&lt;br /&gt;
&lt;br /&gt;
session  required   pam_limits.so&lt;br /&gt;
session  required  pam_unix.so&lt;br /&gt;
session  optional  pam_ldap.so use_firts_pass&lt;br /&gt;
session  required  pam_mkhomedir.so skel=/etc/skel umask=0022&lt;br /&gt;
&lt;br /&gt;
# Por último editamos /etc/pam.d/common-password:&lt;br /&gt;
nano /etc/pam.d/common-password&lt;br /&gt;
&lt;br /&gt;
password  required  pam_cracklib.so 1 retry=3 minlen=8 difok=4&lt;br /&gt;
password  sufficient  pam_unix.so  use_authok md5 shadow&lt;br /&gt;
password sufficient   pam_ldap.so use_authok use_first_pass&lt;br /&gt;
password required   pam_warn.so&lt;br /&gt;
password required  pam_deny.so&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Configuración de SAMBA =&lt;br /&gt;
Instalamos la configuración de SAMBA que trae muchos ejemplos de configuración:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Instalamos la doc de samba:&lt;br /&gt;
apt-get install samba-doc&lt;br /&gt;
&lt;br /&gt;
# Vamos a copiar un ejemplo de un esquema para que funciona samba con ldap:&lt;br /&gt;
cd /usr/share/doc/samba-doc/examples/LDAP&lt;br /&gt;
&lt;br /&gt;
# Lo copiamos al directorio de schemas:&lt;br /&gt;
cp samba.schema.gz /etc/ldap/schema&lt;br /&gt;
&lt;br /&gt;
# Entramos en el directorio de schemas:&lt;br /&gt;
cd /etc/ldap/schema&lt;br /&gt;
&lt;br /&gt;
# Descomprimimos el fichero:&lt;br /&gt;
gzip -d samba.schema.gz&lt;br /&gt;
&lt;br /&gt;
# Cambiamos el propietario a openldap:&lt;br /&gt;
chown openldap.openldap samba.schema&lt;br /&gt;
chmod 644 samba.schema&lt;br /&gt;
cd..&lt;br /&gt;
&lt;br /&gt;
# Editamos slapd.conf y añadimos un include:&lt;br /&gt;
Include /etc/ldap/schema/samba.schema&lt;br /&gt;
&lt;br /&gt;
#Hacemos un slaptest para ver si va todo ok:&lt;br /&gt;
slaptest&lt;br /&gt;
&lt;br /&gt;
# Reiniciamos&lt;br /&gt;
/etc/init.d/slapd restart&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora nos tocaría configura el samba:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# En la carpeta /etc/samba editaremos los parámetros:&lt;br /&gt;
nano smb.conf&lt;br /&gt;
&lt;br /&gt;
# Con el comando testparm comprobamos errores en los parámetros de samba:&lt;br /&gt;
testparm&lt;br /&gt;
&lt;br /&gt;
# Iniciamos el samba:&lt;br /&gt;
/etc/init.d/samba restart&lt;br /&gt;
&lt;br /&gt;
# Cambiamos la clave del administrador en samba:&lt;br /&gt;
smbpasswd -w admin&lt;br /&gt;
&lt;br /&gt;
# Configuramos las herramientas para interactuar con samba y ldap al mismo tiempo:&lt;br /&gt;
nano /etc/ldap/sldap.conf&lt;br /&gt;
&lt;br /&gt;
# Modificamos un par de atributos (sambaldap password y &lt;br /&gt;
# en la sección de seguridad access to primera línea agregamos:&lt;br /&gt;
access to attrs= .....,sambaLMPassword, sambaNTPassword&lt;br /&gt;
&lt;br /&gt;
# Reiniciamos slapd&lt;br /&gt;
/etc/init.d/slapd restart&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuración de smbldap-tools ==&lt;br /&gt;
Mediante esta herramienta podremos crear usuarios y grupos rápidamente.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Vamos al directorio /etc/smbdldap-tools y nos copiamos:&lt;br /&gt;
cp /usr/share/doc/smbdldap-tools/examples/smbdldap.conf.gz    /etc/smbldap-tools&lt;br /&gt;
cp /usr/share/doc/smbdldap-tools/examples/smbdldap_bind.conf    /etc/smbldap-tools&lt;br /&gt;
/etc/smbldap-tools/gzip  -d /etc/smbldap-tools/smbdldap.conf.gz&lt;br /&gt;
&lt;br /&gt;
# Editamos el fichero smbldap_bind.conf:&lt;br /&gt;
nano /etc/smbldap-tools/smbldap_bind.conf&lt;br /&gt;
&lt;br /&gt;
# Dejamos sólo un servidor Master, suprimimos el slave:&lt;br /&gt;
masterDN=&amp;quot;cn=admin,dc=sanclemente,dc=local&amp;quot;&lt;br /&gt;
masterPW=&amp;quot;admin&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Editamos el fichero smbldap.conf:&lt;br /&gt;
nano /etc/smbldap-tools/smbdldap.conf&lt;br /&gt;
&lt;br /&gt;
# Modificamos los siguiente parámetros:&lt;br /&gt;
sambaDomain=sanclemente&lt;br /&gt;
slapTLS=&amp;quot;0&amp;quot;  // No usamos SSL&lt;br /&gt;
suffix=&amp;quot;dc=sanclemente, dc=local&amp;quot;&lt;br /&gt;
sambaUnixIdPooldn=&amp;quot;sambaDomainName=SANCLEMENTE,${suffix}&amp;quot;&lt;br /&gt;
userSmbHome=&amp;quot;\\%L\%U&amp;quot;&lt;br /&gt;
userProfile=&amp;quot;\\%L\profiles\%U&amp;quot;&lt;br /&gt;
mailDomain=&amp;quot;sanclemente.local&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Editamos el fichero slapd.con para crear unos índices necesarios para acelerar&lt;br /&gt;
nano /etc/ldap/slapd.conf&lt;br /&gt;
&lt;br /&gt;
# Agregamos:&lt;br /&gt;
index default  sub&lt;br /&gt;
index cn   pres, sub,eq&lt;br /&gt;
index sn   pres, sub,eq&lt;br /&gt;
index mail  eq, subinitial&lt;br /&gt;
index uid  pres,sub,eq&lt;br /&gt;
index displayName  pres,sub,eq&lt;br /&gt;
index uidNumber  eq&lt;br /&gt;
index gidNumber eq&lt;br /&gt;
index memberUid eq&lt;br /&gt;
index sambaSID  eq&lt;br /&gt;
index sambaPrimaryGroupSID eq&lt;br /&gt;
index sambaDomainName eq&lt;br /&gt;
&lt;br /&gt;
# Ejecutamos el test para ver si está todo ok:&lt;br /&gt;
slaptest&lt;br /&gt;
&lt;br /&gt;
# Para poder comenzar a usar las herramientas que nos permiten integrar todo, deberemos ejecutar&lt;br /&gt;
# este comando construirá todas las estructuras para que LDAP y SAMBA puedan funcionar juntos:&lt;br /&gt;
smbldap-populate&lt;br /&gt;
&lt;br /&gt;
# Ahora podemos hacer:&lt;br /&gt;
slapcat&lt;br /&gt;
&lt;br /&gt;
# Paramos openldap:&lt;br /&gt;
/etc/init.d/slapd stop&lt;br /&gt;
&lt;br /&gt;
# Regeneramos los índices:&lt;br /&gt;
slapindex -vf  /etc/slap/slapd.conf&lt;br /&gt;
&lt;br /&gt;
# Cambiamos el propietario de esos ficheros índices:&lt;br /&gt;
/etc/ldap/chown openldap.openldap /var/lib/ldap/*&lt;br /&gt;
&lt;br /&gt;
# Arrancamos de nuevo LDAP:&lt;br /&gt;
/etc/init.d/slapd start&lt;br /&gt;
&lt;br /&gt;
# Para añadir un usuario:&lt;br /&gt;
# -a para que lo añada también en UNIX&lt;br /&gt;
# Añadimos un usuario guest:&lt;br /&gt;
smbldap-useradd -a guest&lt;br /&gt;
&lt;br /&gt;
# Añadimos otro usuario prueba:&lt;br /&gt;
smbldap-useradd  -a prueba&lt;br /&gt;
&lt;br /&gt;
# Para modificar la clave del usuario prueba:&lt;br /&gt;
smbldap-passwd prueba&lt;br /&gt;
&lt;br /&gt;
# Vamos a ver si autentifica con samba:&lt;br /&gt;
# Creamos una carpeta:&lt;br /&gt;
mkdir pruebas&lt;br /&gt;
mkdir /home/publico&lt;br /&gt;
&lt;br /&gt;
mount -t smb //localhost/publico pruebas/ -o username=prueba&lt;br /&gt;
&lt;br /&gt;
# Directorio de drivers de impresoras:&lt;br /&gt;
/var/lib/samba/printers&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Una vez tenemos todo funcionando...&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A los windows se les puede meter PGINA para que autentiquen contra el LDAP.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fuente original de información extraída del video: [http://tv.uvigo.es/video/26832 http://tv.uvigo.es/video/26832] de la &amp;#039;&amp;#039;&amp;#039;Charla del profesor  [http://moncho.mdez-reboredo.info/ Jose Ramón Méndez Reboredo.]&amp;#039;&amp;#039;&amp;#039; [http://www.uvigo.es Universidad de Vigo.]&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Veiga|Veiga]] 16:47 30 mar 2012 (CEST)&lt;/div&gt;</summary>
		<author><name>Veiga</name></author>
	</entry>
</feed>