I'm currently doing a review to see how OpenLDAP compares, *feature
wise* ATM, to other directory servers and specifically to the Sun DS -
i.e. to get a definitive list of features it's missing that Sun has and
what it has that Sun doesn't have, etc. For brevity, I haven't included
all the potentially useful features of OpenLDAP, but have just focused
on those associated with 1) RFC compliance (of which Sun may or may not
meet) and 2) features to match the Sun DS (which it would be replacing).
…
[View More]
So far, here's what I have for OpenLDAP:
RFC 4510 (which includes 4511-4519). There was recent discussion on the
list around this, such that in some cases, not everything that changed
from 3377 (which includes 2251-2256, 2829, and 2830) to 4510 has been
updated in OpenLDAP, but I think those issues are fairly minor.
The following additional RFC's are supported in OpenLDAP:
- RFC 2247 and RFC 3088
- RFC 2696 simple paged results
- RFC 2849 ldif
- RFC 3062 password mod op
- RFC 3296 named referals, manageDSAit
- RFC 3673 All Op attrs + feature
- RFC 3687 Component matching rules
- RFC 3866 Languange tag and range
- RFC 3876 matched values control
- RFC 4370 proxy auth
- RFC 4522 binary encoding
- RFC 4523 x.509 cert schema
- RFC 4524 COSINE schema
- RFC 4525 Mod-increment
- RFC 4526 Absolute true/false filters
- RFC 4527 pre/post read control
- RFC 4528 assertion control
- RFC 4529 request attrs by objectclass
- RFC 4530 entryUUID
- RFC 4532 whoamI
- RFC 4533 Content Sync op (replication)
RFC's NOT supported are:
- RFC 2589 dds Seems with 2.4, this has gone from experimental to
production quality?
- RFC 2891 server side sorting
- RFC 3671 collective attributes
- RFC 3928 LCUP mainly for updating cached addressbooks, etc - not
replication between servers
- RFC 3384 looks like just reqs for replication, not an actual
replication protocol - RFC 4533 is used instead
Unknown:
- RFC 3672 (subentries)
- RFC 3698 and 3727 (additional matching rules)
- RFC 3909 LDAP Cancel operation
- RFC 5020 entryDN operational attribute
(There are some other, often obscure, LDAP related RFC's that I didn't
include, but this seems to be the major/useful ones)
Other features not supported:
- VLV browse indexes (per
http://tools.ietf.org/html/draft-ietf-ldapext-ldapv3-vlv-09). Not an
RFC, but supported by Sun and MS directories, and used by things like
Outlook and Solaris.
Other supported features:
- dyngroup/dynlist/memberof overlay (A much more useful feature than
Sun's groupOfURLs "dynamic" group and "roles" mechanism)
- ppolicy overlay (matches Sun DS 5.x reasonably close, but is account
lockout replicated to all servers? Sun DS 6.x claims to)
- refint overlay (similar to Sun's referential integrity plugin)
- unique overlay (similar to Sun's uniqueness plugin)
- audit and accesslog overlays, syslog logging - much more
useful/complete than Sun's access/audit/error logs.
- live acl changes via LDAP
Unknown features:
- Per user resource limits (sizelimit, timelimit, idletimeout, etc). I
think Howard Chu said OpenLDAP has some of this, but I haven't seen any
reference to it or how to use it in the docs (does this functionality
exist, and if so, is there any documentation?)
- Tracking of last login (i.e. last successful ldap authentication)
Is this still fairly accurate?
The ones that are really problematic are the lack of:
- VLV Browse indexes
- RFC 2891 (server side sorting)
- per user/entry resources limits (if they don't exist)
Are there any unofficial updates/patches/overlays/plans for any of this
functionality?
Thanks,
- Jeff
[View Less]
I was testing the recovery of a slave in a delta-syncrepl configuration
after an accesslog purge, and noticed that operations that have been
purged from the accesslog that occurred while the slave was down do not
get replicated when the initial master database was loaded with "slapadd
-w".
If the slave database is empty, it will correctly receive all master
entries, but if you shut the slave down (after it has done the initial
sync), make a change, wait for the change to be purged from …
[View More]the
accesslog, and then bring the slave back up, the slave will not see the
change.
The contextCSN of the slave is updated in this case, but nothing else is
replicated, and the slave is effectively stale. When the slave is first
brought up I do notice that two different contextCSN(s) are written to
the auditlog.
When the initial database is loaded without using the -w flag with
slapadd or with ldapsearch (on an empty database), the slave receives
all changes correctly after the accesslog has been purged.
Is this expected behavior in any way?
I am using the standard delta-syncrepl config from the admin guide with
2.4.11.
[View Less]
----- "Aaron Richton" <richton(a)nbcs.rutgers.edu> wrote:
> On Fri, 25 Jul 2008, Guillaume Rousse wrote:
>
> > First, using a distinct database doesn't allow to provide a virtual
> view
> > from a branch in my original database to another branch in the same
> > database. Meaning, I can't have ou=telephony,dc=myprefix a virtual
> view
> > of ou=users,dc=myprefix, I need to use a distinct prefix.
>
> Have you tried declaring the ou=telephony,dc=…
[View More]myprefix back-relay
> subordinate to dc=myprefix back-$END?
I was about to reply the same, but you anticipated me :)
I've tried the above, and it works as expected as soon as the "relay" statement is omitted. In fact, it requires the superior database to already exist. Probably, that test should either be relaxed or moved to db_open().
With respect to Guillaume's second question, I see the issue. In principle, what he needs to do is something like
rwm-map attribute telephoneNumber homePhone
rwm-map attribute * telephoneNumber
so that real homePhone is mapped to virtual telephoneNumber, and real telephoneNumber is hidden. Unfortunately, this seems to result in a "double mapping" for telephoneNumber. I need to look at the logic of mapping, since what Guillaume wants to do seems to make sense, so it should be allowed. As per the reason of hiding everything not working, it's related to the fact that hiding everything does not allow "objectClass" to be returned, which causes the search filter to fail because the objectClass is not present. Unfortunately, the objectClass attribute cannot be mapped, so it cannot be explicitly preserved by adding
rwm-map attribute objectClass *
I recommend he files an ITS for each of those two issues.
> > Third, this solution doesn't work currently when trying to sync
> > the appliance users from ldap. From ldap log, it seems some
> specific
> > control is not supported with relay backend:
>
> I think you'd be better served by syncing the real data, and
> configuring
> the back-relay/slapo-rwm identically across your slaves so as to give
>
> consistent results.
Ing. Pierangelo Masarati
OpenLDAP Core Team
SysNet s.r.l.
via Dossi, 8 - 27100 Pavia - ITALIA
http://www.sys-net.it
-----------------------------------
Office: +39 02 23998309
Mobile: +39 333 4963172
Fax: +39 0382 476497
Email: ando(a)sys-net.it
-----------------------------------
[View Less]
Please keep replies on the list.
Naveen.X1.Sarabu(a)chase.com wrote:
> Hi,
>
> On the current running prod server i have the same settings(acls).
> users line is commented but "by * read " should allow users to read
> the information.
What I'm trying to tell you is that ACL parsing never gets to that "by *
read" because it comes __after__ a commented out line. As such, that
"by * read" is either a continuation of the comment or garbage. The
fact that on the "current …
[View More]running prod server you have the same
settings" is irrelevant.
> i am suspecting it some thing to do with password scheme. in ldap all
> passwprds are in {CRYPT}. I dont know in OS level what scheme it is
> using and how to check?
No, passwords are in whatever hash you created them (default {SSHA}),
and {CRYPT} is the worst choice you could make.
p.
Ing. Pierangelo Masarati
OpenLDAP Core Team
SysNet s.r.l.
via Dossi, 8 - 27100 Pavia - ITALIA
http://www.sys-net.it
-----------------------------------
Office: +39 02 23998309
Mobile: +39 333 4963172
Fax: +39 0382 476497
Email: ando(a)sys-net.it
-----------------------------------
[View Less]
Hi,
Can any one please help me in the following issue:
Desc: I am in the process of migrating openldap from one server to antother server.
current openldap server: server1.example.com
new openldap server : server2.example.com
Below is the procedure i have followed to migrate it:
1. setup server2.example.com as replica server of server1.example.com
2. after syncing the DB files , made it as standalone master ldap.
for testing iam using the below commands:
1. when i search for info as …
[View More]Manager it is giving all the information
server2#ldapsearch -x -b 'dc=example,dc=com' -D "cn=Manager,dc=example,dc=com" '(objectclass=*)' -H ldaps://server2.example.com -W
2. But when i try to search as a normal user it is throwing the following error.
server2# ldapsearch -x -b 'dc=example,dc=com' -D "uid=okkamagadu,ou=People,dc=example,dc=com" '(objectclass=*)' -H ldaps://server2.example.com -W
Enter LDAP Password:
ldap_bind: Invalid credentials (49) <<<am i missing any configration,any suggestions?
Here is My configureation information:
#
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/openldap.schema
# Allow LDAPv2 client connections. This is NOT the default.
allow bind_v2
# Do not enable referrals until AFTER you have a working directory
# service AND an understanding of referrals.
#referral ldap://root.openldap.org
pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args
# Load dynamic backend modules:
# modulepath /usr/sbin/openldap
# moduleload back_bdb.la
# moduleload back_ldap.la
# moduleload back_ldbm.la
# moduleload back_passwd.la
# moduleload back_shell.la
# The next three lines allow use of TLS for encrypting connections using a
# dummy test certificate which you can generate by changing to
# /usr/share/ssl/certs, running "make slapd.pem", and fixing permissions on
# slapd.pem so that the ldap user or group can read it. Your client software
# may balk at self-signed certificates, however.
# TLSCACertificateFile /usr/share/ssl/certs/ca-bundle.crt
# TLSCertificateFile /usr/share/ssl/certs/slapd.pem
# TLSCertificateKeyFile /usr/share/ssl/certs/slapd.pem
TLSCACertificateFile /etc/openldap/ssl/certs/ca.crt
TLSCertificateFile /etc/openldap/ssl/certs/server2.crt
TLSCertificateKeyFile /etc/openldap/ssl/server2.key
# Sample security restrictions
# Require integrity protection (prevent hijacking)
# Require 112-bit (3DES or better) encryption for updates
# Require 63-bit encryption for simple bind
security ssf=1 update_ssf=112 simple_bind=64
# Sample access control policy:
# Root DSE: allow anyone to read it
# Subschema (sub)entry DSE: allow anyone to read it
# Other DSEs:
# Allow self write access
# Allow authenticated users read access
# Allow anonymous users to authenticate
# Directives needed to implement policy:
# access to dn.base="" by * read
# access to dn.base="cn=Subschema" by * read
access to *
by self write
# by users read
by group.exact="cn=Admin,ou=LdapAdmin,dc=example,dc=com" write
by * read
# by anonymous auth
#
# if no access controls are present, the default policy
# allows anyone and everyone to read anything but restricts
# updates to rootdn. (e.g., "access to * by * read")
#
# rootdn can always read and write EVERYTHING!
#######################################################################
# ldbm and/or bdb database definitions
#######################################################################
database bdb
#suffix "dc=my-domain,dc=com"
suffix "dc=example,dc=com"
#rootdn "cn=Manager,dc=my-domain,dc=com"
rootdn "cn=Manager,dc=example,dc=com"
# Cleartext passwords, especially for the rootdn, should
# be avoided. See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
# rootpw secret
rootpw <password>
# The database directory MUST exist prior to running slapd AND
# should only be accessible by the slapd and slap tools.
# Mode 700 recommended.
directory /var/lib/ldap
# Indices to maintain for this database
index objectClass eq,pres
index ou,cn,mail,surname,givenname eq,pres,sub
index uidNumber,gidNumber,loginShell eq,pres
index uid,memberUid eq,pres,sub
index nisMapName,nisMapEntry eq,pres,sub
# Replicas of this database
#replogfile /var/lib/ldap/openldap-master-replog
#replica host=ldap-1.example.com:389 starttls=critical
# bindmethod=sasl saslmech=GSSAPI
# authcId=host/ldap-master.example.com(a)EXAMPLE.COM
-----------------------------------------
This transmission may contain information that is privileged,
confidential, legally privileged, and/or exempt from disclosure
under applicable law. If you are not the intended recipient, you
are hereby notified that any disclosure, copying, distribution, or
use of the information contained herein (including any reliance
thereon) is STRICTLY PROHIBITED. Although this transmission and
any attachments are believed to be free of any virus or other
defect that might affect any computer system into which it is
received and opened, it is the responsibility of the recipient to
ensure that it is virus free and no responsibility is accepted by
JPMorgan Chase & Co., its subsidiaries and affiliates, as
applicable, for any loss or damage arising in any way from its use.
If you received this transmission in error, please immediately
contact the sender and destroy the material in its entirety,
whether in electronic or hard copy format. Thank you.
[View Less]
http://blog.suretecsystems.com/archives/40-OpenLDAP-Weekly-News-Issue-5.html
In the third box of code, this appears to set up the Master node with 3
serverIDs +URLS, when previously it was set up with a single serverID
(which I assumed to be its identifier) is this correct?
I'm running version 2.4.10 on both servers.
Regards,
Andy
Hi,
I'm in the process of upgrading a 2.3.41 directory up to the 2.4 branch.
I've got a few virtual machines with which I've been testing and
running syncrepl.
I've successfully 'pulled' all the data out from the old server (2.3)
and that's now in database 1 on my new server.
However, having installed openLDAP on another new server.. the date that
logs are reporting is an hour earlier than the system time.
Is there a configurable run-time option in slapd, to get the date?
I've currently …
[View More]not got monitoring setup.
Regards,
Andy
[View Less]
Hello,
Version OpenLDAP: 2.4.11
OS: Linux Red Hat ES 4.6
Storage: Berkeley DB 4.2 (+4 patches)
I'm testing performance in importing big LDIF file with 2 milions of entries (22.000.000 number of attributes). LDIF file is 600 MB big, one entry looks like this:
dn: itContainerId=20000001,ou=Container,l=example,c=com
objectClass: labeledURIObject
objectClass: itContainerOC
itContainerId: 20000001
itContainerType: 1
itContainerName: ljubljana1
itContainerStatus: 0
itParentContainerId: 3000000
…
[View More]itConfigurationNeeded: FALSE
itSerialNumber: 04
itRegType: 1
I use slapadd tool with -q option :
slapadd -q -f slapd.conf -l 2_milions_of_entry.ldif
and the following configuration settings:
database bdb
dbcachesize 1000000
cachesize 150000
sizelimit 150000
checkpoint 10 1
set_cachesize 0 20000000 0
set_lg_regionmax 262144
set_lg_bsize 2097152
In my case, it takes about 20!!! hours to load the entire LDIF contents. Is this normal? Did anybody has experiences with loading of such amount of data?
Am i perhaps having wrong settings in config file? Can you please someone tell me, how much time is normaly needed for slapadd?
Thanks for your help.
Best Regards
Blaz Skulj
[View Less]