inuits/puppet-fooacl

Name: puppet-fooacl

Owner: Inuits

Description: Puppet POSIX ACLs module

Created: 2015-08-06 14:40:25.0

Updated: 2015-08-06 14:43:10.0

Pushed: 2015-08-06 17:24:04.0

Homepage: null

Size: 124

Language: Ruby

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

puppet-fooacl

Overview

Manage POSIX filesystem ACLs with Puppet.

Most (all?) other ACL modules implement a type which can be declared only once per file, which isn't flexible. This module takes the unusual approach of creating a single large concatenated script to manage all ACLs recursively in a single run. Ugly, yet very efficient and flexible since ACLs aren't tied to the file type in any way.

Features :

Limitations :

Module content :

Examples

A typical declaration from anywhere in your puppet manifests :

cl::conf { '/var/www/www.example.com':
rmissions => [
'user:userA:rwX',
'user:userB:rwX',
'user:userX:r-X',


From anywhere else, you may set more ACLs for the same /var/www/www.example.com directory as long as you don't use the same $title (that would cause a duplicate declatation), so you would do :

cl::conf { 'www.example.com-other-team':
rget      => '/var/www/www.example.com',
rmissions => [
'user:userC:rwX',
'user:userY:r-X',


Parameter requirements :

If you need to order some of your resources with the execution of the script contained in the module (e.g. refresh when you modify uid or gid values), use :

{ 'bar':
.
tify => Class['::fooacl'],

More advanced example :

obal webmasters
cl::conf { 'default':
rmissions => [
'user:userA:rwX',
'user:userB:rwX',


ontend website webmasters
cl::conf { 'frontend':
rget => [
'/var/www/frontend.example.com',
'/var/www/frontend.example.org',

rmissions => [
'user:userX:rwX',
'user:userY:rwX',


ckend website webmasters
cl::conf { 'backend':
rget => [
'/var/www/backend.example.com',
'/var/www/backend.example.org',

rmissions => [
'user:userZ:rwX',


Debugging

You can set the module fooacl_noop globally using hiera :


cl::fooacl_noop: true

After which the /usr/local/sbin/fooacl script will get updated but won't be automatically run.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.