[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: ACLs - allowing a user to add a new attribute



On Tue, Apr 13, 2010 at 09:37:39PM +0200, Dieter Kluenter wrote:

> >>>From an ACL perspective there is really no difference between adding
> > an attribute and modifying its value.
> 
> No! you have to distinguish between level access model and privilege
> model, slapd.access(5)
> 
> <level> ::= none|disclose|auth|compare|search|read|{write|add|delete}|manage
> <priv> ::= {=|+|-}{0|d|x|c|s|r|{w|a|z}|m}+

The privilege model is more flexible, but in the case that Matt describes
I do not see any relevant difference: he wants admins to add certain
attributes and also to modify them. Either action requires at least 'add'
privilge on the attribute, and changing existing values also requires
'delete' - thus 'write' is a reasonable level to choose.

> > One comment I would make about your ACLs is that in several places you
> > are granting read access to userPassword. This is not usually
> > necessary nor is it a good idea. You need 'by * auth' access to permit
> > authentication, but only need to give '=w' access to those who need to
> > change passwords. Remember that the 'write' keyword includes read access
> 
> '=w' just grants write privilege but no read privilege.

Exactly. Protecting password attributes is a case that the privilege
model handles much better than the level model.

Andrew
-- 
-----------------------------------------------------------------------
|                 From Andrew Findlay, Skills 1st Ltd                 |
| Consultant in large-scale systems, networks, and directory services |
|     http://www.skills-1st.co.uk/                +44 1628 782565     |
-----------------------------------------------------------------------