andres sarmiento escribió:
Estimados:
Actualmente tengo instalado un servidor con Debian Etch al cual le
instalé openldap. El serv idor actualmente está levantado y funciona
localmente.
El problema radica cuando necesito autenticar a un usuario remoto.

Si un usuario creado con ldap se autentica vía SSH no ocurre problema.
el problema, ocurre cuando dicho usuario necesita autenticarse desde
otra aplicación. Por ejemplo vía Web.
Agradecería si me pueden orientar. Seguí el siguiente Howto:
http://moduli.net/sysadmin/sarge-ldap-auth-howto.html

Y seguí todos los pasos, pero no ocurre nada.
Adjunto los archivos de configuración de slapd.conf, pam_ldap.com nsswitch.conf

### Para slapd.conf ####################################
john:/home/andres# cat /etc/ldap/slapd.conf
# This is the main slapd configuration file. See slapd.conf(5) for more
# info on the configuration options.

#######################################################################
# Global Directives:

# Features to permit
#allow bind_v2

# Schema and objectClass definitions
include         /etc/ldap/schema/core.schema
include         /etc/ldap/schema/cosine.schema
include         /etc/ldap/schema/nis.schema
include         /etc/ldap/schema/inetorgperson.schema

# Where the pid file is put. The init.d script
# will not stop the server if you change this.
pidfile         /var/run/slapd/slapd.pid

# List of arguments that were passed to the server
argsfile        /var/run/slapd/slapd.args

# Read slapd.conf(5) for possible values
loglevel        0

# Where the dynamically loaded modules are stored
modulepath      /usr/lib/ldap
moduleload      back_bdb

# The maximum number of entries that is returned for a search operation
sizelimit 500

# The tool-threads parameter sets the actual amount of cpu's that is used
# for indexing.
tool-threads 1

#######################################################################
# Specific Backend Directives for bdb:
# Backend specific directives apply to this backend until another
# 'backend' directive occurs
backend         bdb
checkpoint 512 30

#######################################################################
# Specific Backend Directives for 'other':
# Backend specific directives apply to this backend until another
# 'backend' directive occurs
#backend                <other>

#######################################################################
# Specific Directives for database #1, of type bdb:
# Database specific directives apply to this databasse until another
# 'database' directive occurs
database        bdb

# The base of your directory in database #1
suffix          "dc=ldap,dc=spcservices,dc=com"

# rootdn directive for specifying a superuser on the database. This is needed
# for syncrepl.
# rootdn          "cn=admin,dc=ldap,dc=spcservices,dc=com"

# Where the database file are physically stored for database #1
directory       "/var/lib/ldap"

# For the Debian package we use 2MB as default but be sure to update this
# value if you have plenty of RAM
dbconfig set_cachesize 0 2097152 0

# Sven Hartge reported that he had to set this value incredibly high
# to get slapd running at all. See http://bugs.debian.org/303057
# for more information.

# Number of objects that can be locked at the same time.
dbconfig set_lk_max_objects 1500
# Number of locks (both requested and granted)
dbconfig set_lk_max_locks 1500
# Number of lockers
dbconfig set_lk_max_lockers 1500

# Indexing options for database #1
index           objectClass eq

# Save the time that the entry gets modified, for database #1
lastmod         on

# Where to store the replica logs for database #1
# replogfile    /var/lib/ldap/replog

# The userPassword by default can be changed
# by the entry owning it if they are authenticated.
# Others should not be able to see it, except the
# admin entry below
# These access lines apply to database #1 only
access to attrs=userPassword,shadowLastChange,gecos
        by dn="cn=admin,dc=ldap,dc=spcservices,dc=com" write
        by self write
        by * read

# Ensure read access to the base for things like
# supportedSASLMechanisms.  Without this you may
# have problems with SASL not knowing what
# mechanisms are available and the like.
# Note that this is covered by the 'access to *'
# ACL below too but if you change that as people
# are wont to do you'll still need this if you
# want SASL (and possible other things) to work
# happily.
access to dn.base="" by * read

# The admin dn has full write access, everyone else
# can read everything.
access to *
        by dn="cn=admin,dc=ldap,dc=spcservices,dc=com" write
        by * read

# For Netscape Roaming support, each user gets a roaming
# profile for which they have write access to
#access to dn=".*,ou=Roaming,o=morsnet"
#        by dn="cn=admin,dc=ldap,dc=spcservices,dc=com" write
#        by dnattr=owner write

#######################################################################
# Specific Directives for database #2, of type 'other' (can be bdb too):
# Database specific directives apply to this databasse until another
# 'database' directive occurs
#database        <other>

# The base of your directory for database #2
#suffix         "dc=debian,dc=org"

###########################################################################33
Para /etc/ldap/ldap.conf

john:/home/andres# cat /etc/ldap/ldap.conf
# $OpenLDAP: pkg/ldap/libraries/libldap/ldap.conf,v 1.9 2000/09/04
19:57:01 kurt Exp $
#
# LDAP Defaults
#

# See ldap.conf(5) for details
# This file should be world readable but not world writable.

BASE    dc=ldap,dc=spcservices,dc=com
URI     ldap://172.31.20.3

#SIZELIMIT      12
#TIMELIMIT      15
#DEREF          never

############################################################################
para /etc/nsswitch.conf

john:/home/andres# cat /etc/nsswitch.conf
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:         ldap compat
group:          ldap compat
shadow:         compat

hosts:          files dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis



Agradezco las las respuestas, ya que no encuentro la menera de hacerlo
funcionar.
Saludos Cordiales



No entindo demasiado qué quieres hacer. Lo que si me queda claro es que la autenticación de una aplicación web es totalmente distinta de la autenticación del sistema.

Por un lado si quieres autenticar a los usuarios del sistema puedes usar tu ldap y tienes dos opciones una autenticación sencilla modificando /etc/nsswitch.conf y sin tocar la configuración de pam, o segundo modificando nsswitch.conf y la autenticación de pam.

Luego tienes lo de las aplicaciones web. ¿A través de qué interfaz piensas usar ldap para autenticar? ¿Las funciones de php para el uso de ldap? ¿El módulo de apache para ldap? Se supone que la autenticación del tu aplicación web es totalmente independiente de la del sistema. A no ser que quieras que tu aplicación web autentique a los usuarios del sistema y a su vez tengas configurado tu sistema para usar ldap como "backend" (base de datos de usuarios). Pero aún así el acceso sería transparente.

Saludos


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Responder a