[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: ACL problem for Netscape Roaming
Please disregard this message. Man, was I on a one track mind. For some
reason I thought the order of ACL application was what I had in this email. At
least I learned a lot about LDAP, Kerberos, SASL, etc. trying to solve this.
PS This is why men do not ask for directions, they are usually stupid :)
Quoting Benjamin Baez <bbaez@biospectra.com>:
> Can anyone help me here, I've been working on this three days? I hate to
> pull
> over and ask for directions.
>
> I am trying to get OpenLDAP on Red Hat Linux 7.2 to work with Netscape
> roaming.
> It seems that my ACL for allowing write access to the Netscape profile is
> never chosen.
>
> Here are my configs and debug output. Does the capitalized dn from the LDAP
>
> server cause the regex match to fail?
>
> Thanks,
>
> Ben Baez
>
> slapd.conf
>
> #
>
> loglevel 128
>
> 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/redhat/rfc822-MailMember.schema
> include /etc/openldap/schema/redhat/autofs.schema
> include /etc/openldap/schema/redhat/kerberosobject.schema
> include /etc/openldap/schema/mull.schema
>
> # Define global ACLs to disable default read access.
>
> # 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/slapd.pid
> #argsfile /var/run/slapd.args
>
> # Create a replication log in /var/lib/ldap for use by slurpd.
> #replogfile /var/lib/ldap/master-slapd.replog
>
> # Load dynamic backend modules:
> # modulepath /usr/sbin/openldap
> # moduleload back_ldap.la
> # moduleload back_ldbm.la
> # moduleload back_passwd.la
> # moduleload back_shell.la
>
> # The next two lines allow use of TLS for connections using a dummy test
> # certificate, but you should generate a proper certificate 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.
> #TLSCertificateFile /usr/share/ssl/certs/slapd.pem
> #TLSCertificateKeyFile /usr/share/ssl/certs/slapd.pem
>
> #######################################################################
> # ldbm database definitions
> #######################################################################
>
> database ldbm
> suffix "dc=cdx,dc=org"
> #suffix "o=My Organization Name, c=US"
> rootdn "cn=Manager,dc=cdx,dc=org"
> #rootdn "cn=Manager, o=My Organization Name, c=US"
> # 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 {SSHA}ESC0nZlkkSVlEpCPaq/m94ogDEcQSIpY
> # rootpw {crypt}ijFYNcSNctBYg
> # The database directory MUST exist prior to running slapd AND
> # should only be accessable by the slapd/tools. Mode 700 recommended.
> directory /var/lib/ldap/cdx
> lastmod on # Sets modification field
> # Indices to maintain
> index objectClass,uid,uidNumber,gidNumber,memberUid eq
> index cn,mail,surname,givenname eq,subinitial
> # Replicas to which we should propagate changes
> #replica ldap-1.example.com:389 tls=yes
> # bindmethod=sasl saslmech=GSSAPI
> # authcId=host/ldap-master.example.com@EXAMPLE.COM
> # SASL
> #sasl-host usoakldap01.cdx.org
> #sasl-realm cdx.org
> # Include the access lists
> include /etc/openldap/slapd.access
>
>
> [root@usoakldap01 openldap]# more slapd.access
> # Access Control
> access to * by * read
> access to dn=".*,ou=Roaming,dc=cdx,dc=org"
> by dnattr=owner write
> access to attr=userPassword
> by self write
> by * none
>
>
> [root@usoakldap01 openldap]# /usr/sbin/slapd -u ldap -d 128
> daemon: socket() failed errno=97 (Address family not supported by protocol)
> Backend ACL: access to *
> by * read (=rscx)
>
> Backend ACL: access to dn.regex=.*,ou=Roaming,dc=cdx,dc=org
> by dnattr=owner write (=wrscx)
>
> Backend ACL: access to attrs=userPassword
> by self write (=wrscx)
> by * none (=n)
>
> slapd starting
>
> ...
>
> => access_allowed: read access to
> "nsLIProfileName=baezbo,ou=Roaming,dc=cdx,dc=o
> rg" "objectClass" requested
> => acl_get: [1] check attr objectClass
> <= acl_get: [1] acl nsLIProfileName=baezbo,ou=Roaming,dc=cdx,dc=org attr:
> object
> Class
> => acl_mask: access to entry
> "nsLIProfileName=baezbo,ou=Roaming,dc=cdx,dc=org",
> attr "objectClass" requested
> => acl_mask: to value by "UID=BAEZBO,OU=PEOPLE,DC=CDX,DC=ORG", (=n)
> <= check a_dn_pat: *
> <= acl_mask: [1] applying read (=rscx) (stop)
> <= acl_mask: [1] mask: read (=rscx)
> => access_allowed: read access granted by read (=rscx)
> => access_allowed: read access to
> "nsLIProfileName=baezbo,ou=Roaming,dc=cdx,dc=o
> rg" "objectClass" requested
> => acl_get: [1] check attr objectClass
> <= acl_get: [1] acl nsLIProfileName=baezbo,ou=Roaming,dc=cdx,dc=org attr:
> object
> Class
> => acl_mask: access to entry
> "nsLIProfileName=baezbo,ou=Roaming,dc=cdx,dc=org",
> attr "objectClass" requested
> => acl_mask: to value by "UID=BAEZBO,OU=PEOPLE,DC=CDX,DC=ORG", (=n)
> <= check a_dn_pat: *
> <= acl_mask: [1] applying read (=rscx) (stop)
> <= acl_mask: [1] mask: read (=rscx)
> => access_allowed: read access granted by read (=rscx)
>
> -------------------------------------------------
> This mail sent through IMP: http://horde.org/imp/
>
>
-------------------------------------------------
This mail sent through IMP: http://horde.org/imp/