Skip to content
This repository was archived by the owner on Apr 13, 2022. It is now read-only.

Commit 36549a9

Browse files
committed
Update acl-inheritance.md
1 parent 1a6014e commit 36549a9

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

acl-inheritance.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,21 @@ There are two relevant implementations to consider: `default` and `defaultForNew
1717

1818
### Strategy 1) `monotonic`
1919

20-
In `monotonic`, ACL permissions are cumulative (inherited from the ancestors) and the permission check algorithm sums permissions from left-to-right. The path is explored from root, `/` to the end, or inany direction, as the permission is the union of all the permissions from each ACL file. The search can stop when any ACL file is which gives permission.
20+
In `monotonic`, ACL permissions are cumulative (inherited from the ancestors) and the permission check algorithm sums permissions over the path. The path is explored in any direction, as the permission is the union of all the permissions from each ACL file. The search can stop when any ACL file is which gives permission.
2121

2222
#### Pro
23+
- Not as fast as defaultForNew but can be
2324
- Simple hierarchical permission (e.g. everything in `/shared` is shared)
2425
- Can be fast as it only has to find one ACL file to give the permission it needs
25-
- An invariant is that an ACL cnnnot be overruled,
26+
- Monotonic: Once a user or any agent knows the ACL it can apply it as a rule. An ACL is a first class fact. It can be digitally signed, transported, and used to demand access at a later date, etc. Monotonicness is useful.
2627

2728
#### Cons
28-
- It is slower than `default`, since all the path must be taken into consideration. @@@ No, not necessaryily,as the search stops the moment it finds success.
29-
- It can't have private subfolders within shared folders. Given that permissions cannot be reverted (with the current WAC specification), a subfolder cannot be private in a shared folder. ((A possible solution is NOT include Windows' `DENY` or `DENY all` in the WAC specification. These entries would take precedence to the other (_allow_) permissions). This system is monotonic.
29+
- It is slower than `defaultFor new`, but the search stops the moment it finds success.
30+
- It can't have private subfolders within shared folders. Given that permissions cannot be reverted (with the current WAC specification), a subfolder cannot be private in a shared folder. This system is monotonic.
3031
- User has to be aware of the permissions given to the parent folders
3132

33+
((A possible solution is NOT include Windows' `DENY` or `DENY all` in the WAC specification, where these entries would take precedence to the other (_allow_) permissions) That would not be monotonic.
34+
3235
### Strategy 2) `default`
3336

3437
In `defaultLocal`, ACL permissions are inherited from the most local ACL file which exists, and no others are searched.. The permission check algorithm iterates from the end of path to the beginning stopping at the first existing ACL. Note: Different permission check algorithm may be implemented to find the most significant ACL.

0 commit comments

Comments
 (0)