[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: help with ACL
Please excuse the verbose email.
> At 11:22 AM 10/26/99 -0600, Giri Raichur wrote:
> >> access to dn=".*,o=Los Alamos National Laboratory,c=US"
> >> by dn="^$$" none
> >> by dn=".*,o=Los Alamos National Laboratory,c=US" read
> >> by * none
> >Thank you. However, I am still confused about the default access line in
> >the access list.
> >should that be included in the access list or is "by * none" in the
> >access clause sufficient.
>
> by * none does match everything and hence you could drop the first
> who clause. However, I doubt this is your problem. It appears as
> the implicit, last ACL:
>
> access to * by * default
>
> rules is being applied (where default is whatever you set default
> access to).
>
> I suspect, a DN mismatch (your entries/targets are not under
> "o=Los Alamos National Laboratory,c=US") or that you are not accessing
> the directory in a manner consist with the ACLs.
>
> Is this your only ACL? If not, provide the complete list.
Yes this is my only ACL.
>
>
> >When I type "defaultaccess none" above the access clause, all searches
> >fail.
>
> Duplicate the problem using ldapsearch. Post a copy of the exact
> command line issued and the results.
>
> You might also peak at the log files to see if offers any hints.
> You might enable ARGS, TRACE, and ACL debugging as well. This will
> generate a huge amount of output.
>
ldapsearch cn=giri*
The debug output -new connection on 8
activity on:
listening for connections on 7, activity on: 8r
before select active_threads 0
select activity on 1 descriptors
activity on: 8r
read activity on 8
ber_get_next
ber_get_next: tag 0x30 len 12 contents:
ber_dump: buf 0x8099bc8, ptr 0x8099bc8, end 0x8099bd4
current len 12, contents:
02 01 01 ` 07 02 01 02 04 00 80 00
do_bind
do_bind: version 2 dn () method 128
send_ldap_result 0::
ber_flush: 14 bytes to sd 8
0 0c 02 01 01 a 07 0a 01 00 04 00 04 00
listening for connections on 7, activity on: 8r
before select active_threads 0
select activity on 1 descriptors
activity on: 8r
read activity on 8
ber_get_next
ber_get_next: tag 0x30 len 38 contents:
ber_dump: buf 0x807b938, ptr 0x807b938, end 0x807b95e
current len 38, contents:
02 01 02 c ! 04 00 0a 01 02 0a 01 00 02 01 00
02 01 00 01 01 00 a4 0c 04 02 c n 0 06 80 04
g i r i 0 00
do_search
SRCH "" 2 0 0 0 0
begin get_filter
SUBSTRINGS
begin get_substring_filter
INITIAL
end get_substring_filter
end get_filter 0
filter: (cn=GIRI*)
attrs:
=> ldbm_back_search
using base ""
subtree_candidates: base: "" lookupbase
=> filter_candidates
OR
=> list_candidates 0xa1
=> filter_candidates
EQUALITY
=> ava_candidates 0xa3
=> index_read( "objectclass" "=" "REFERRAL" )
=> ldbm_cache_open( "/usr/local/lib/openldap/objectclass.dbb", 66, 600 )
<= ldbm_cache_open (cache 0)
<= index_read 0 candidates
<= ava_candidates 0
<= filter_candidates 0
=> filter_candidates
SUBSTRINGS
=> substring_candidates
=> substring_comp_candidates
=> index_read( "cn" "*" "^GI" )
=> ldbm_cache_open( "/usr/local/lib/openldap/cn.dbb", 66, 600 )
<= ldbm_cache_open (cache 1)
<= index_read 79 candidates
=> index_read( "cn" "*" "GIR" )
=> ldbm_cache_open( "/usr/local/lib/openldap/cn.dbb", 66, 600 )
<= ldbm_cache_open (cache 1)
<= index_read 14 candidates
=> index_read( "cn" "*" "IRI" )
=> ldbm_cache_open( "/usr/local/lib/openldap/cn.dbb", 66, 600 )
<= ldbm_cache_open (cache 1)
<= index_read 21 candidates
<= substring_comp_candidates 1
<= substring_candidates 1
<= filter_candidates 1
<= list_candidates 1
<= filter_candidates 1
=> id2entry_r( 55945 )
====> cache_find_entry_dn2id: found id: 55945 rw: 0
entry_rdwr_rtrylock: ID: 55945
<= id2entry_r 0x8099a18 (cache)
=> test_filter
SUBSTRINGS
begin test_substring_filter
=> access_allowed: entry (x-pid=12128, o=Los Alamos National Laboratory,
c=US) a
ttr (cn)
=> acl_get: entry (x-pid=12128, o=Los Alamos National Laboratory, c=US) attr
(cn
)
=> acl_get: edn X-PID=12128,O=LOS ALAMOS NATIONAL LABORATORY,C=US
=> dnpat: [1] .*,O=LOS ALAMOS NATIONAL LABORATORY,C=US nsub: 0
=> acl_get: [1] global ACL match
=> acl_get: [1] check attr
<= acl_get: [1] global acl x-pid=12128, o=Los Alamos National Laboratory,
c=US a
ttr: cn
=> acl_access_allowed: search access to entry "x-pid=12128, o=Los Alamos
Nationa
l Laboratory, c=US"
=> acl_access_allowed: search access to value "any" by ""
<= check a_dnpat: ^$$
=> string_expand: pattern: ^$$
=> string_expand: expanded: ^$
=> regex_matches: string:
=> regex_matches: rc: 0 matches
<= acl_access_allowed: matched by clause #1 access denied
=> access_allowed: exit (x-pid=12128, o=Los Alamos National Laboratory,
c=US) at
tr (cn)
<= test_filter -2
====> cache_return_entry_r
entry_rdwr_runlock: ID: 55945
listening for connections on 7, activity on: 8r
before select active_threads 1
send_ldap_result 0::
ber_flush: 14 bytes to sd 8
0 0c 02 01 02 e 07 0a 01 00 04 00 04 00
select activity on 1 descriptors
activity on: 8r
read activity on 8
ber_get_next
ber_get_next: tag 0x30 len 5 contents:
ber_dump: buf 0x8099bc8, ptr 0x8099bc8, end 0x8099bcd
current len 5, contents:
02 01 03 B 00
do_unbind
listening for connections on 7, activity on:
before select active_threads 0
Looks like the regex matches the null bind entry
Thanks.