[OpenAFS] transitive "fs la"?
Todd M. Lewis
Todd M. Lewis" <utoddl@email.unc.edu
Mon, 03 Sep 2007 01:53:15 -0400
Derrick J Brashear wrote:
> On Sun, 2 Sep 2007, Adam Megacz wrote:
>
>>
>> A user's rights on a directory are effectively moot unless s/he has
>> "l" permissions on every ancestor directory (up to the volume root).
>> So you could say that the "transitive" acl of a directory is its acl
>> minus permissions which cannot currently be exercised by virtue of the
>> acls on its ancestors.
>>
>> I'm interested in a simple utility to print out this sort of effective
>> acl. For bonus points, query the pts database and factor in group
>> membership (for example, a group you belong to has "l" on parent and
>> you personally have "l" on the directory itself).
>>
>> Has anybody written this already, or should I take a crack at it?
>
> You can probably use "ws" as a basis. See ws.c in my homedir in the
> andrew cell.
Go ahead, knock yourself out. Just keep in mind that the volume
containing the directory you're interested in may be mounted in multiple
places, and while the user may not have "l" rights all the way up the
tree from one mountpoint, she might well have them from another.
For this reason, you might want to include in your results two distinct
reports: whether "l" is available from the given directory up to the
root level of the containing volume, and a separate indication of
whether the user has "l" rights up the tree in the given path to /afs.
You might also want to make some decisions before you start writing code
about how this would work when run by an admin (who could see all the
ACLs) vs. a generic user (who may not).
--
Todd_Lewis@unc.edu