diff --git a/REFERENCE.md b/REFERENCE.md new file mode 100644 index 0000000..f19d9d9 --- /dev/null +++ b/REFERENCE.md @@ -0,0 +1,129 @@ +# Reference + + + +## Table of Contents + +### Classes + +* [`posix_acl::requirements`](#posix_acl--requirements): install the acl package + +### Resource types + +* [`posix_acl`](#posix_acl): Ensures that a set of ACL permissions are applied to a given file or directory. Example: posix_acl { '/var/www/html': action + +## Classes + +### `posix_acl::requirements` + +install the acl package + +## Resource types + +### `posix_acl` + +Ensures that a set of ACL permissions are applied to a given file +or directory. + + Example: + + posix_acl { '/var/www/html': + action => exact, + permission => [ + 'user::rwx', + 'group::r-x', + 'mask::rwx', + 'other::r--', + 'default:user::rwx', + 'default:user:www-data:r-x', + 'default:group::r-x', + 'default:mask::rwx', + 'default:other::r--', + ], + provider => posixacl, + recursive => true, + } + + In this example, Puppet will ensure that the user and group + permissions are set recursively on /var/www/html as well as add + default permissions that will apply to new directories and files + created under /var/www/html + + Setting an ACL can change a file's mode bits, so if the file is + managed by a File resource, that resource needs to set the mode + bits according to what the calculated mode bits will be, for + example, the File resource for the ACL above should be: + + file { '/var/www/html': + mode => 754, + } + +#### Properties + +The following properties are available in the `posix_acl` type. + +##### `permission` + +ACL permission(s). + +#### Parameters + +The following parameters are available in the `posix_acl` type. + +* [`action`](#-posix_acl--action) +* [`ignore_missing`](#-posix_acl--ignore_missing) +* [`path`](#-posix_acl--path) +* [`provider`](#-posix_acl--provider) +* [`recursemode`](#-posix_acl--recursemode) +* [`recursive`](#-posix_acl--recursive) + +##### `action` + +Valid values: `set`, `unset`, `exact`, `purge` + +What do we do with this list of ACLs? Options are set, unset, exact, and purge + +Default value: `set` + +##### `ignore_missing` + +Valid values: `false`, `quiet`, `notify` + +What to do if files are missing: +false: fail run, +quiet: quietly do nothing, +notify: do not try to to set ACL, but add notice to run + +Default value: `false` + +##### `path` + +namevar + +The file or directory to which the ACL applies. + +##### `provider` + +The specific backend to use for this `posix_acl` resource. You will seldom need to specify this --- Puppet will usually +discover the appropriate provider for your platform. + +##### `recursemode` + +Valid values: `lazy`, `deep` + +Should Puppet apply the ACL recursively with the -R option or +apply it to individual files? + +lazy means -R option +deep means apply to every file + +Default value: `lazy` + +##### `recursive` + +Valid values: `true`, `false` + +Apply ACLs recursively. + +Default value: `false` + diff --git a/manifests/requirements.pp b/manifests/requirements.pp index b4ad25e..b5379da 100644 --- a/manifests/requirements.pp +++ b/manifests/requirements.pp @@ -1,3 +1,6 @@ +# +# @summary install the acl package +# class posix_acl::requirements { package { 'acl': ensure => 'present',