Ace
Immutable macOS extended access-control entry.
Unlike NFSv4 or POSIX.1e ACL entries, a macOS entry names every principal,
including the owning user and group, by UUID:
principal is always a
uuid.Uuid.
The class methods below require a built uuid.Uuid, Mask, and
Flags; use ace for UUID string or binary
values and symbolic mask or flag coercion.
Example
let read = Mask(:READ_DATA:, :READ_ATTRIBUTES:)
Ace.allow $owner mask: $read flags: (Flags(:FILE_INHERIT:))
Class Methods
allow principal :mask … -> Ace
Constructs an entry that grants the permissions in mask.
Parameters
| Name | Type | Description |
|---|---|---|
principal |
uuid.Uuid |
The entry's principal. |
:mask |
Mask |
Permission mask. |
:flags? |
Flags |
Inheritance flags. Defaults to empty. |
deny principal :mask … -> Ace
Constructs an entry that denies the permissions in mask.
Parameters
| Name | Type | Description |
|---|---|---|
principal |
uuid.Uuid |
The entry's principal. |
:mask |
Mask |
Permission mask. |
:flags? |
Flags |
Inheritance flags. Defaults to empty. |