[cap-talk] More Heresy: ACLs not inherently bad

David-Sarah Hopwood david.hopwood at industrial-designers.co.uk
Thu Sep 18 19:50:28 CDT 2008


Jonathan S. Shapiro wrote:
> On Thu, 2008-09-18 at 20:10 +0100, Mark Seaborn wrote:
>> "Jonathan S. Shapiro" <shap at eros-os.com> wrote:
>>
>>> We are trying to run a source code repository. We have two classes of
>>> users of the repository: documenters and developers. We also have a
>>> class of administrators who determine which users are in which class (or
>>> possibly in both).
>>>
>>> The desired policy is:
>>>
>>>   1. All users in either group should have read access to all source
>>>      files stored in the repository.
>>>
>>>   2. In order to revise a file whose name ends in .c or .h, the user
>>>      must be in the developer group.
>>>
>>>   3. Similarly, in order to create a directory anyplace *other than* the
>>>      "doc" tree, the user must be in the developer group.
>> ...
>>
>> This should be straightforward to do with today's distributed SCMs.
>> You could have a system that pulls changesets from users' individual
>> branches into the main branch and accepts or rejects the changesets
>> based on whether they contain changes that the user is allowed to
>> make.
>>
>> Bazaar uses the term "gatekeeper" (http://bazaar-vcs.org/Workflows).
>> There are already gatekeepers that check whether tests pass or require
>> code review before merging changes.
> 
> Yes. But today's SCMs aren't at all easy to implement credibly on pure
> capability systems.

Why not? The approach that Mark Seaborn suggests (which is one of several
possible approaches) does not put *any* constraints on the access control
of the SCM implementation on each user's system. The overall policy is
enforced only by the gatekeeper, and that is application-level access
control that can express pretty much any policy, no matter how silly.

-- 
David-Sarah Hopwood


More information about the cap-talk mailing list