Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I've installed OpenLDAP in AWS, everything was working as expected until I tried to authenticate a user, it asks me for the password and when I provide it, it says Permission denied, please try again. I've tried with the pass in plain text and MD5, but I don't know what's going on...I've modified the configuration in order to allow users to authenticate with passwords... If you need some files or something just ask and I'll update the question, thanks!!

UPDATE:

This is for linux authentication

# 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        none

# Where the dynamically loaded modules are stored
modulepath  /usr/lib/ldap
moduleload  back_@BACKEND@

# 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 @BACKEND@:
# Backend specific directives apply to this backend until another
# 'backend' directive occurs
backend     @BACKEND@

#######################################################################
# 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 @BACKEND@:
# Database specific directives apply to this databasse until another
# 'database' directive occurs
database        @BACKEND@

# The base of your directory in database #1
suffix          "@SUFFIX@"

# rootdn directive for specifying a superuser on the database. This is needed
# for syncrepl.
# rootdn          "cn=admin,@SUFFIX@"

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

# The dbconfig settings are used to generate a DB_CONFIG file the first
# time slapd starts.  They do NOT override existing an existing DB_CONFIG
# file.  You should therefore change these settings in DB_CONFIG directly
# or remove DB_CONFIG and restart slapd for changes to take effect.

# 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

# Checkpoint the BerkeleyDB database periodically in case of system
# failure and to speed slapd shutdown.
checkpoint      512 30

# 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
    by dn="@ADMIN@" write
    by anonymous auth
    by self write
    by * none

# Ensure read access to the base for things like
access to dn.base="" by * read

access to *
    by dn="@ADMIN@" write
    by * read
share|improve this question
    
(1) What service are you authenticating? Email(dovecot/posttfix)? Linux login? Http? (2) May need the slapd.conf. –  John Siu Jan 26 '13 at 8:08
    
@JohnSiu done, it's updated... this is for linux login... –  poz2k4444 Jan 27 '13 at 23:08
    
Haven't have time to test yet. But did you configure PAM also? –  John Siu Jan 28 '13 at 5:35
    
@JohnSiu yes, I ran sudo pam-auth-update –  poz2k4444 Jan 28 '13 at 16:07
    
Did you use this guild? I am trying to go through it now. –  John Siu Jan 28 '13 at 20:07

1 Answer 1

up vote 1 down vote accepted

Reference Link

1. Do dpkg-reconfigure slapd

dpkg-reconfigure slapd

Use following answers

Omit OpenLDAP server configuration? No
DNS domain name: testlab.dev
Organization name: testlab.dev
Administrator password: <password>
Confirm password: <password>
Database backend to use: BDB or HDB(prefered)
Do you want the database to be removed when slapd is purged? Yes/No (your choice)
Move old database? Yes (clean start)
Allow LDAPv2 protocol? No

2. Make sure you have libnss-ldap

apt-get install libnss-ldap

3. Do dpkg-reconfigure ldap-auth-config

dpkg-reconfigure ldap-auth-config

Use following answers

Should debconf manage LDAP configuration? Yes
LDAP server Uniform Resource Identifier: ldapi:///
Distinguished name of the search base: dc=testlab,dc=dev
LDAP version to use: 3
Make local root Database admin: Yes
Does the LDAP database require login? No
LDAP account for root: cn=admin,dc=testlab,dc=dev
LDAP root account password: <password>
Local crypt to use when changing passwords: md5

4. Now configure the LDAP profile for NSS:

auth-client-config -t nss -p lac_ldap

5. Configure the system to use LDAP for authentication:

sudo pam-auth-update

Make sure [*] LDAP Authentication is selected.

share|improve this answer
    
You will have to create ldap user again after the above steps. –  John Siu Jan 28 '13 at 23:48
    
well... now I feel like an idiot, the only thing you use different is LDAP server Uniform Resource Identifier: ldapi:///, why it didn't work with ldap://127.0.0.1?? –  poz2k4444 Jan 29 '13 at 0:06
    
I am not sure either. I plan to do more research tonight. Also we should look for ways to limit ldap server connection to localhost only. The above config is listening on all interface which is very unsecure. –  John Siu Jan 29 '13 at 0:19
    
well...I think I know how to do that... because I need to connect remotely... –  poz2k4444 Jan 29 '13 at 0:26

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.