module Mode: sig .. end
Permission symbolic mode.
type who = [ `All | `Group | `Other | `User ]
type wholist = [ `All | `Group | `List of who list | `Other | `User ]
type permcopy = [ `Group | `Other | `User ]
type perm = [ `Exec | `ExecX | `Read | `Sticky | `StickyO | `Write ]
type permlist = [ `Exec
| `ExecX
| `List of perm list
| `Read
| `Sticky
| `StickyO
| `Write ]
type actionarg = [ `Exec
| `ExecX
| `Group
| `List of perm list
| `Other
| `Read
| `Sticky
| `StickyO
| `User
| `Write ]
type action = [ `Add of actionarg
| `Remove of actionarg
| `Set of actionarg ]
type actionlist = [ `Add of actionarg
| `List of action list
| `Remove of actionarg
| `Set of actionarg ]
type clause = [ `All of actionlist
| `Group of actionlist
| `None of actionlist
| `Other of actionlist
| `User of actionlist ]
type t = clause list
Typical symbolic mode:
- g+r ->
`Group (`Add `Read)
- u=rw,g+rw,o-rwx ->
`User (`Set (`List [`Read; `Write]));
`Group (`Add (`List [`Read; `Write]));
`Other (`Remove (`List [`Read; `Write; `Exec]))