<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>5.3. Configuración de los archivos necesarios</title><link rel="stylesheet" href="./estilo.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.64.1" /><meta name="keywords" content="OpenLDAP, autentificación" /><link rel="home" href="index.html" title="Integración de redes con OpenLDAP, Samba, CUPS y PyKota" /><link rel="up" href="openldap-autentificacion-usuarios.html" title="Capítulo 5. Autentificación de usuarios a través de OpenLDAP" /><link rel="previous" href="openldap-autentificacion-usuarios-instalacion.html" title="5.2. Instalación del software necesario" /><link rel="next" href="samba-parte.html" title="Parte II. Samba" /><meta xmlns="http://www.w3.org/TR/xhtml1/transitional" name="generator" content="Experimental LDP.XSL $Revision: 1.3 $"></meta>
  <!-- Generated by LDP XSLT customization layer
      based on Norman Walsh's DocBook XSL stylesheets.
      More information at http://www.linuxdoc.org/ -->
  </head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">5.3. Configuración de los archivos necesarios</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="openldap-autentificacion-usuarios-instalacion.html">Anterior</a> </td><th width="60%" align="center">Capítulo 5. Autentificación de usuarios a través de OpenLDAP</th><td width="20%" align="right"> <a accesskey="n" href="samba-parte.html">Siguiente</a></td></tr></table><hr /></div><div class="sect1" lang="es" xml:lang="es"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="openldap-autentificacion-usuarios-configuracion"></a>5.3. Configuración de los archivos necesarios</h2></div></div><div></div></div><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="./imagenes/warning.png" /></td><th align="left">Aviso</th></tr><tr><td colspan="2" align="left" valign="top"><p>Tenga en cuenta que va a modificar archivos de configuración
	utilizados para el ingreso al sistema. Sería recomendable que tuviese
	en todo momento una consola de root abierta, por si deja de funcionar
	la autentificación.</p></td></tr></table></div><div class="sect2" lang="es" xml:lang="es"><div class="titlepage"><div><div><h3 class="title"><a id="openldap-autentificacion-usuarios-configuracion-nsswitch"></a>5.3.1. <tt class="filename">/etc/nsswitch.conf</tt></h3></div></div><div></div></div><p><tt class="filename">nsswitch.conf</tt> es el fichero de configuración
		de las Bases de Datos del Sistema y del sistema de Conmutación de
		los Servicios de Nombres (Name Service Switch).</p><p>En otras palabras, es un archivo que indica el orden y el procedimiento
		a seguir para la búsqueda de la información requerida, por ejemplo, para
		hacer búsquedas de hosts o usuarios.</p><p>La forma de configurar este archivo es muy simple: primero se especifica
		la base de datos sujeta a la búsqueda (primera columna) seguida del procedimiento
		que se va a emplear para realizar una búsqueda sobre la misma (columnas
		siguientes).</p><p>De esta forma, basta con configurar el procedimiento de búsqueda
		para que haga uso de <span class="acronym">LDAP</span> en algún momento. El
		<a href="openldap-autentificacion-usuarios-configuracion.html#openldap-autentificacion-usuarios-configuracion-nsswitch-ejemplo1" title="Ejemplo 5.7. Modificaciones en el de configuración /etc/nsswitch.conf">Ejemplo 5.7, “Modificaciones en el de configuración /etc/nsswitch.conf”</a>
		muestra como hacerlo:</p><div class="example"><a id="openldap-autentificacion-usuarios-configuracion-nsswitch-ejemplo1"></a><p class="title"><b>Ejemplo 5.7. Modificaciones en el de configuración <tt class="filename">/etc/nsswitch.conf</tt></b></p><table xmlns="http://www.w3.org/TR/xhtml1/transitional" border="0" bgcolor="#E0E0E0" width="90%"><tr><td><pre class="programlisting">passwd: <a id="base-datos-passwd"></a><img src="./imagenes/callouts/1.png" alt="1" border="0"></img>         files ldap <a id="busqueda-passwd"></a><img src="./imagenes/callouts/2.png" alt="2" border="0"></img>
group: <a id="base-datos-group"></a><img src="./imagenes/callouts/3.png" alt="3" border="0"></img>          files ldap <a id="busqueda-group"></a><img src="./imagenes/callouts/4.png" alt="4" border="0"></img>
shadow: <a id="base-datos-shadow"></a><img src="./imagenes/callouts/5.png" alt="5" border="0"></img>         files ldap <a id="busqueda-shadow"></a><img src="./imagenes/callouts/6.png" alt="6" border="0"></img>
hosts: <a id="base-datos-host"></a><img src="./imagenes/callouts/7.png" alt="7" border="0"></img>          files ldap dns <a id="busqueda-host"></a><img src="./imagenes/callouts/8.png" alt="8" border="0"></img>
</pre></td></tr></table></div><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><a href="#base-datos-passwd"><img src="./imagenes/callouts/1.png" alt="1" border="0" /></a> <a href="#base-datos-group"><img src="./imagenes/callouts/3.png" alt="3" border="0" /></a> <a href="#base-datos-shadow"><img src="./imagenes/callouts/5.png" alt="5" border="0" /></a> <a href="#base-datos-host"><img src="./imagenes/callouts/7.png" alt="7" border="0" /></a> </td><td valign="top" align="left"><p>Bases de datos de búsqueda</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#busqueda-passwd"><img src="./imagenes/callouts/2.png" alt="2" border="0" /></a> <a href="#busqueda-group"><img src="./imagenes/callouts/4.png" alt="4" border="0" /></a> <a href="#busqueda-shadow"><img src="./imagenes/callouts/6.png" alt="6" border="0" /></a> </td><td valign="top" align="left"><p>Procedimiento de búsqueda: primero se mira en los archivos locales y
				luego en el directorio <span class="acronym">LDAP</span>.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#busqueda-host"><img src="./imagenes/callouts/8.png" alt="8" border="0" /></a> </td><td valign="top" align="left"><p>Procedimiento de búsqueda: primero se mira en los archivos locales,
                luego en el directorio <span class="acronym">LDAP</span> y finalmente se realiza
				una consulta al servidor <span class="acronym">DNS</span>.</p></td></tr></table></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="./imagenes/note.png" /></td><th align="left">Nota</th></tr><tr><td colspan="2" align="left" valign="top"><p>En el <a href="openldap-nsswitch.conf.html" title="Apéndice S. Archivo de configuración /etc/nsswitch.conf">Apéndice S, <i>Archivo de configuración /etc/nsswitch.conf</i></a> se encuentra disponible
		un ejemplo completo de configuración de <tt class="filename">nsswitch.conf</tt>.</p></td></tr></table></div><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="./imagenes/tip.png" /></td><th align="left">Sugerencia</th></tr><tr><td colspan="2" align="left" valign="top"><p>Fíjese que no se ha eliminado el uso de los ficheros locales, “<span class="quote">files</span>”,
		ya que algunos usuarios y grupos de usuarios (como por ejemplo root) permanecerán
		de forma local. Si su sistema no utiliza la entrada “<span class="quote">files</span>”, y el servidor
		<span class="acronym">LDAP</span> se cae, nadie, ni siquiera root, podrá entrar al sistema.</p></td></tr></table></div><p><i class="emphasis">nss-ldap</i> espera que las cuentas sean objetos con los siguientes
		atributos: <i class="emphasis">uid</i>, <i class="emphasis">uidNumber</i>,
		<i class="emphasis">gidNumber</i>, <i class="emphasis">homeDirectory</i> y
		<i class="emphasis">loginShell</i>. Estos atributos
		están permitidos por la clase objeto (objectClass) <i class="emphasis">posixAccount</i>.</p><p>Una vez realizada la configuración, se puede comprobar que todo funciona bien
		con el comando <span><b class="command">getent</b></span> seguido de la base de datos
		de búsqueda deseada (por ejemplo: <span><b class="command">/usr/bin/getent hosts</b></span>). Como resultado
		se mostrará la base de datos consultada por pantalla.</p></div><div class="sect2" lang="es" xml:lang="es"><div class="titlepage"><div><div><h3 class="title"><a id="openldap-autentificacion-usuarios-configuracion-pam"></a>5.3.2. Configuración de <span class="acronym">PAM</span></h3></div></div><div></div></div><p><span class="acronym">PAM</span> permite configurar el método de autentificación
		que van a utilizar las aplicaciones que hagan uso de él. Gracias a esto,
		se pueden añadir fácilmente distintas opciones de autentificación, como el uso de una base de datos
		<span class="acronym">LDAP</span>.</p><p>En las siguientes secciones se mostrarán los archivos que se han
		de modificar para lograr la autentificación a través de <span class="acronym">LDAP</span>.</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Important"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="./imagenes/important.png" /></td><th align="left">Importante</th></tr><tr><td colspan="2" align="left" valign="top"><p>Hace relativamente poco tiempo que la versión en desarrollo de Debian
		(Sid) ha cambiado la forma de configuración de <span class="acronym">PAM</span>. Actualmente
		posee secciones comunes a todos los archivos, estas secciones comunes son
		aquellos archivos localizados en el directorio <tt class="filename">/etc/pam.d/</tt>
		que comiencen por “<span class="quote">common-</span>”.</p><p>Se ha de tener en cuenta la forma en la que se ha ido actualizando Debian Sid
		en la última temporada, para determinar si su sistema está utilizando o no dichos
		archivos comunes para la configuración de <span class="acronym">PAM</span>.</p><p>Un buen punto de partida, sería ojear los archivos almacenados bajo
		<tt class="filename">/etc/pam.d/</tt> y comprobar las diferencias entre
		los archivos con extensión <i class="emphasis">.dpkg-dist</i> y los que no la tienen.</p></td></tr></table></div><p><i class="emphasis">pam-ldap</i> asume que las cuentas del sistema son objetos con los
		siguientes atributos: <i class="emphasis">uid</i> y <i class="emphasis">userPassword</i>.
		Los atributos están permitidos por la clase objeto (objectClass)
		<i class="emphasis">posixAccount</i>.</p><div class="sect3" lang="es" xml:lang="es"><div class="titlepage"><div><div><h4 class="title"><a id="openldap-autentificacion-usuarios-configuracion-pam-common-account"></a>5.3.2.1. <tt class="filename">/etc/pam.d/common-account</tt></h4></div></div><div></div></div><p>Este archivo ha de tener únicamente estas entradas:</p><div class="example"><a id="openldap-autentificacion-usuarios-configuracion-pam-common-account-ejemplo1"></a><p class="title"><b>Ejemplo 5.8. Opciones de configuración para <tt class="filename">/etc/pam.d/common-account</tt></b></p><table xmlns="http://www.w3.org/TR/xhtml1/transitional" border="0" bgcolor="#E0E0E0" width="90%"><tr><td><pre class="programlisting">account required          pam_unix.so
account sufficient        pam_ldap.so</pre></td></tr></table></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="./imagenes/note.png" /></td><th align="left">Nota</th></tr><tr><td colspan="2" align="left" valign="top"><p>En el <a href="openldap-pam-common-account.html" title="Apéndice V. Archivo de configuración /etc/pamd.d/common-account">Apéndice V, <i>Archivo de configuración /etc/pamd.d/common-account</i></a>
			tiene un ejemplo completo de este archivo de configuración.</p></td></tr></table></div></div><div class="sect3" lang="es" xml:lang="es"><div class="titlepage"><div><div><h4 class="title"><a id="openldap-autentificacion-usuarios-configuracion-pam-common-auth"></a>5.3.2.2. <tt class="filename">/etc/pam.d/common-auth</tt></h4></div></div><div></div></div><p>Este archivo ha de tener únicamente estas entradas:</p><div class="example"><a id="openldap-autentificacion-usuarios-configuracion-pam-common-auth-ejemplo1"></a><p class="title"><b>Ejemplo 5.9. Opciones de configuración para <tt class="filename">/etc/pam.d/common-auth</tt></b></p><table xmlns="http://www.w3.org/TR/xhtml1/transitional" border="0" bgcolor="#E0E0E0" width="90%"><tr><td><pre class="programlisting">auth     sufficient     pam_unix.so
auth     sufficient     pam_ldap.so try_first_pass
auth     required       pam_env.so
auth     required       pam_securetty.so
auth     required       pam_unix_auth.so
auth     required       pam_warn.so
auth     required       pam_deny.so</pre></td></tr></table></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="./imagenes/note.png" /></td><th align="left">Nota</th></tr><tr><td colspan="2" align="left" valign="top"><p>En el <a href="openldap-pam-common-auth.html" title="Apéndice W. Archivo de configuración /etc/pamd.d/common-auth">Apéndice W, <i>Archivo de configuración /etc/pamd.d/common-auth</i></a>
			tiene un ejemplo completo de este archivo de configuración.</p></td></tr></table></div></div><div class="sect3" lang="es" xml:lang="es"><div class="titlepage"><div><div><h4 class="title"><a id="openldap-autentificacion-usuarios-configuracion-pam-common-session"></a>5.3.2.3. <tt class="filename">/etc/pam.d/common-session</tt></h4></div></div><div></div></div><p>Este archivo ha de tener únicamente estas entradas:</p><div class="example"><a id="openldap-autentificacion-usuarios-configuracion-pam-common-session-ejemplo1"></a><p class="title"><b>Ejemplo 5.10. Opciones de configuración para <tt class="filename">/etc/pam.d/common-session</tt></b></p><table xmlns="http://www.w3.org/TR/xhtml1/transitional" border="0" bgcolor="#E0E0E0" width="90%"><tr><td><pre class="programlisting">session required        pam_limits.so
session required        pam_unix.so
session optional        pam_ldap.so</pre></td></tr></table></div><p>Si desea que el sistema sea capaz de crear directorios
			home “<span class="quote">al vuelo</span>” (piense en el siguiente caso:
			acaba de añadir un usuario en la base de datos <span class="acronym">LDAP</span>,
			pero no ha creado un directorio home para este usuario en el sistema),
			puede utilizar el módulo <i class="emphasis">pam_mkhomedir</i>
			para este propósito. Para ello añada la siguiente línea al principio
			del archivo <tt class="filename">common-session</tt>:</p><div class="example"><a id="openldap-autentificacion-usuarios-configuracion-pam-common-session-ejemplo2"></a><p class="title"><b>Ejemplo 5.11. Opción para crear directorios home al vuelo</b></p><table xmlns="http://www.w3.org/TR/xhtml1/transitional" border="0" bgcolor="#E0E0E0" width="90%"><tr><td><pre class="programlisting">session required        pam_mkhomedir.so skel=/etc/skel/ umask=0022</pre></td></tr></table></div><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Important"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="./imagenes/important.png" /></td><th align="left">Importante</th></tr><tr><td colspan="2" align="left" valign="top"><p>El módulo <i class="emphasis">pam_mkhomedir</i> sólo crea
			directorios de un nivel. Es importante tener esto en cuenta para planificar
			la estructura del home de los usuarios.</p></td></tr></table></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="./imagenes/note.png" /></td><th align="left">Nota</th></tr><tr><td colspan="2" align="left" valign="top"><p>En el <a href="openldap-pam-common-session.html" title="Apéndice Y. Archivo de configuración /etc/pamd.d/common-session">Apéndice Y, <i>Archivo de configuración /etc/pamd.d/common-session</i></a>
			tiene un ejemplo completo de este archivo de configuración.</p></td></tr></table></div></div><div class="sect3" lang="es" xml:lang="es"><div class="titlepage"><div><div><h4 class="title"><a id="openldap-autentificacion-usuarios-configuracion-pam-common-passwd"></a>5.3.2.4. <tt class="filename">/etc/pam.d/common-passwd</tt></h4></div></div><div></div></div><p>Este archivo ha de tener únicamente estas entradas:</p><div class="example"><a id="openldap-autentificacion-usuarios-configuracion-pam-common-password-ejemplo1"></a><p class="title"><b>Ejemplo 5.12. Opciones de configuración para <tt class="filename">/etc/pam.d/common-password</tt></b></p><table xmlns="http://www.w3.org/TR/xhtml1/transitional" border="0" bgcolor="#E0E0E0" width="90%"><tr><td><pre class="programlisting">password required       pam_cracklib.so <a id="cracklib"></a><img src="./imagenes/callouts/1.png" alt="1" border="0"></img> retry=3 minlen=8 difok=4
password sufficient     pam_unix.so use_authtok md5 shadow
password sufficient     pam_ldap.so use_authtok
password required       pam_warn.so
password required       pam_deny.so</pre></td></tr></table><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><a href="#cracklib"><img src="./imagenes/callouts/1.png" alt="1" border="0" /></a> </td><td valign="top" align="left"><p>Se supone que tiene instalado en su
						sistema la librería <i class="emphasis">libpam-cracklib</i>,
						si no es así, instálela o comente esta línea.</p></td></tr></table></div></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="./imagenes/note.png" /></td><th align="left">Nota</th></tr><tr><td colspan="2" align="left" valign="top"><p>En el <a href="openldap-pam-common-password.html" title="Apéndice X. Archivo de configuración /etc/pamd.d/common-password">Apéndice X, <i>Archivo de configuración /etc/pamd.d/common-password</i></a>
			tiene un ejemplo completo de este archivo de configuración.</p></td></tr></table></div></div><div class="sect3" lang="es" xml:lang="es"><div class="titlepage"><div><div><h4 class="title"><a id="openldap-autentificacion-usuarios-configuracion-pam-comprobaciones"></a>5.3.2.5. Comprobando que todo funciona</h4></div></div><div></div></div><p>Ahora que ya está el sistema preparado para hacer uso de
			<span class="acronym">LDAP</span> en la autentificación de los usuarios, sería
			recomendable hacer algunas pruebas con la nueva configuración
			para ver si todo funciona correctamente.</p><p>El comando <span><b class="command">pamtest</b></span> puede ayudar a realizar
			estas pruebas. <span><b class="command">pamtest</b></span> acepta dos parámetros:
			el primero es el nombre del servicio al cual se va a conectar para
			realizar la autentificación, el segundo es el nombre del usuario
			que se va a autentificar sobre dicho servicio. Veamos unos
			ejemplos:</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="./imagenes/note.png" /></td><th align="left">Nota</th></tr><tr><td colspan="2" align="left" valign="top"><p>El comando <span><b class="command">pamtest</b></span> se encuentra en el
			paquete <i class="emphasis">libpam-dotfile</i>, por lo que si no está disponible en
			su sistema, ha de ejecutar:</p><table xmlns="http://www.w3.org/TR/xhtml1/transitional" border="0" bgcolor="#E0E0E0" width="90%"><tr><td><pre class="screen"><tt class="prompt">#</tt> <b class="userinput"><tt>/usr/bin/apt-get install libpam-dotfile</tt></b></pre></td></tr></table></td></tr></table></div><div class="example"><a id="openldap-autentificacion-usuarios-configuracion-pam-comprobaciones-ejemplo1"></a><p class="title"><b>Ejemplo 5.13. Comprobando la configuración del sistema con <span>pamtest</span></b></p><table xmlns="http://www.w3.org/TR/xhtml1/transitional" border="0" bgcolor="#E0E0E0" width="90%"><tr><td><pre class="screen"><tt class="prompt">$</tt> <b class="userinput"><tt>/usr/bin/pamtest passwd sergio</tt></b>
<tt class="computeroutput">Trying to authenticate &lt;sergio&gt; for service &lt;passwd&gt;.
Password:</tt><b class="userinput"><tt>[Clave del usuario]</tt></b>
<tt class="computeroutput">Authentication successful.</tt>
<tt class="prompt">$</tt> <b class="userinput"><tt>/usr/bin/pamtest ssh sergio</tt></b>
<tt class="computeroutput">Trying to authenticate &lt;sergio&gt; for service &lt;ssh&gt;.
Password:</tt><b class="userinput"><tt>[Clave fallida del usuario]</tt></b>
<tt class="computeroutput">Failed to authenticate: Authentication service cannot retrieve authentication info.</tt>
<tt class="prompt">$</tt> <b class="userinput"><tt>/usr/bin/pamtest ssh sergio</tt></b>
<tt class="computeroutput">Trying to authenticate &lt;sergio&gt; for service &lt;ssh&gt;.
Password:</tt><b class="userinput"><tt>[Clave del usuario]</tt></b>
<tt class="computeroutput">Authentication successful.</tt></pre></td></tr></table></div><p>Una vez se ha llegado a este punto, el sistema ya está preparado para autentificar
			a los usuarios a través de <span class="acronym">LDAP</span>. En el apartado dedicado a Samba
			(<a href="samba-parte.html" title="Parte II. Samba">Parte II</a>) veremos, entre otras cosas, como añadir
			usuarios a la base de datos <span class="acronym">LDAP</span>.</p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="openldap-autentificacion-usuarios-instalacion.html">Anterior</a> </td><td width="20%" align="center"><a accesskey="u" href="openldap-autentificacion-usuarios.html">Subir</a></td><td width="40%" align="right"> <a accesskey="n" href="samba-parte.html">Siguiente</a></td></tr><tr><td width="40%" align="left" valign="top">5.2. Instalación del software necesario </td><td width="20%" align="center"><a accesskey="h" href="index.html">Inicio</a></td><td width="40%" align="right" valign="top"> Parte II. Samba</td></tr></table></div></body></html>
