Skip to content

Ace

Immutable NFSv4 access-control entry.

The class methods below require built Mask and Flags values; use ace for symbolic mask and flag coercion.

Example

let read = Mask(:READ_DATA:, :READ_ATTRIBUTES:)
Ace.user 1000 type: :ALLOW: mask: $read flags: (Flags(:FILE_INHERIT:))

Class Methods

everyone :type :mask … -> Ace

Constructs the EVERYONE@ entry.

Parameters

NameTypeDescription
:type AceType Entry type.
:mask Mask Permission mask.
:flags? Flags Inheritance/audit flags. Defaults to empty.

group id :type :mask … -> Ace

Constructs a named-group entry.

Parameters

NameTypeDescription
id Int Group ID.
:type AceType Entry type.
:mask Mask Permission mask.
:flags? Flags Inheritance/audit flags. Defaults to empty.

owner :type :mask … -> Ace

Constructs the OWNER@ entry.

Parameters

NameTypeDescription
:type AceType Entry type.
:mask Mask Permission mask.
:flags? Flags Inheritance/audit flags. Defaults to empty.

owning_group :type :mask … -> Ace

Constructs the GROUP@ entry.

Parameters

NameTypeDescription
:type AceType Entry type.
:mask Mask Permission mask.
:flags? Flags Inheritance/audit flags. Defaults to empty.

user id :type :mask … -> Ace

Constructs a named-user entry.

Parameters

NameTypeDescription
id Int User ID.
:type AceType Entry type.
:mask Mask Permission mask.
:flags? Flags Inheritance/audit flags. Defaults to empty.

Fields

flags @ Flags

The entry's inheritance/audit flags.

id @ Int

Numeric user or group ID.

Raises FieldError unless principal is :USER: or :GROUP:.

mask @ Mask

The entry's permission mask.

principal @ (:OWNER: | :OWNING_GROUP: | :EVERYONE: | :USER: | :GROUP:)

Entry qualifier.

type @ AceType

Entry type.