[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Confusión con /etc/pam_ldap.conf y /etc/libnss-ldap.conf



Iñaki wrote:
El Miércoles, 3 de Enero de 2007 15:05, Christian Pinedo Zamalloa escribió:
On Wed, Jan 03, 2007 at 12:29:25AM +0100, Iñaki wrote:
Hola, ¿alguien sabe porqué existen los ficheros "/etc/pam_ldap.conf"
y "libnss-ldap.conf"?

Corresponden al paquete "libpam-ldap" y "libnss-pam" respectivamente, y
son exactamente iguales, incluso el proceso "debconf" en ambos es
idéntico al 90%.

Si a esto le añadimos que en documentación sobre pam/nss-ldap de
cualquier otra distro sólo se usa un único archivo /etc/ldap.conf para
ambos, me pregunto ¿por qué en Debian existen esos dos ficheros
totalmente iguales en vez de usar sólo uno? ¿por qué duplicar la misma
información
innecesariamente?
Tiene su lógica. Como has dicho uno tiene labores de autentición y otro
de consulta a las bases de datos del sistema. En mi caso, tengo un
dominio/workgroup samba con LDAP y utilizo libnss-ldap pero no llego a
utilizar libpam-ldap. ¿Por que? Porque no quiero que otros sistemas
utilicen LDAP para autenticar a los usuarios (login, ssh,
...) pero necesito que el sistema pueda resolver los uids y gids
correctamente haciendo uso de la base de datos ldap (libnns-ldap).
Saludos,

Gracias a los 3 por vuestra ayuda.

Ok, entiendo que NSS y PAM tienen cometidos diferentes, pero si os fijáis en el archivo /etc/pam_ldap.conf aparecen también las opciones relativas a NSS (como los "nss map...") y sucede lo recíproco en /etc/libnss_ldap.conf, donde aparecen las opciones de PAM (que no tienen efecto lógicamente).

O sea, si al menos hubiesen dejado "seco" cada archivo sólo con las opciones que le incumben todavía, pero así...

Por otra parte, comento también que en la instalación de libnss_ldap se recomienda poner 600 al /etc/libnss_ldap.conf, lo cuál es trágico porque los usuarios normales no pueden resolver ni siquiera el nombre de su grupo primario si el grupo está en LDAP. Qué raro, ¿no?
Creo que el archivo que tiene que estar en modo 600 es /etc/pam_ldap.scrt que lo único que contiene es el password del usuario administrador del ldap. ¿Para qué? para que pam pueda tener acceso de escritura a ldap cuando quiera cambiar contraseñas o agregar usuarios con los comandos passwd o useradd (adduser??). Creo que también tienes la opción de poner esa contraseña en el mismo archivo, en este caso /etc/pam_ldap.conf, entonces si habría que ponerlo en modo 600.

Otra opción es crear un usuario llamado proxy en tu árbol ldap y darle permiso para que cambie los atributos de contraseña o los de usuario y nada más, ningún otro sobre el árbol, entonces pones ese usuario en /etc/pam_ldap.conf y su contraseña en /etc/pam_ldap.scrt y tienes la ventaja (bueno, no gran ventaja) de que si te pillan la contraseña solo podrán modificar datos de usuarios (pero me parece que esto sirve si tu árbol ldap tiene información más importante que las cuentas de usuarios).

Pero el caso es que si solo quieres que pam autentique y nss resuelva uids y gids a nombres no tienes por qué poner la clave del administrador ldap. Solamente dejas que nss o pam se conecten en modo anónimo que para autenticar y resolver les basta. Y para administrar usuarios usaría una herramienta aparte en vez de los típicos comandos del sistema.

Un saludo y gracias ;)





Reply to: