Linux File Access Control Lists
The Linux ACL state module requires the getfacl and setfacl binaries.
Ensure a Linux ACL is present
root:
acl.present:
- name: /root
- acl_type: user
- acl_name: damian
- perms: rwx
Ensure a Linux ACL does not exist
root:
acl.absent:
- name: /root
- acl_type: user
- acl_name: damian
- perms: rwx
Ensure a Linux ACL list is present
root:
acl.list_present:
- name: /root
- acl_type: user
- acl_names:
- damian
- homer
- perms: rwx
Ensure a Linux ACL list does not exist
root:
acl.list_absent:
- name: /root
- acl_type: user
- acl_names:
- damian
- homer
- perms: rwx
Warning
The effective permissions of Linux file access control lists (ACLs) are governed by the "effective rights mask" (the mask line in the output of the getfacl command) combined with the perms set by this module: any permission bits (for example, r=read) present in an ACL but not in the mask are ignored. The mask is automatically recomputed when setting an ACL, so normally this isn't important. However, if the file permissions are changed (with chmod or file.managed, for example), the mask will generally be set based on just the group bits of the file permissions.
As a result, when using file.managed or similar to control file permissions as well as this module, you should set your group permissions to be at least as broad as any permissions in your ACL. Otherwise, the two state declarations will each register changes each run, and if the file declaration runs later, your ACL will be ineffective.
Ensure a Linux ACL does not exist
The acl path
The type of the acl is used for, it can be 'user' or 'group'
The user or group
Remove the permissions eg.: rwx
Set the permissions recursive in the path
Ensure a Linux ACL list does not exist
Takes a list of acl names and remove them from the given path
The acl path
The type of the acl is used for, it can be 'user' or 'group'
The list of users or groups
Remove the permissions eg.: rwx
Set the permissions recursive in the path
Ensure a Linux ACL list is present
Takes a list of acl names and add them to the given path
The acl path
The type of the acl is used for it can be 'user' or 'group'
The list of users or groups
Set the permissions eg.: rwx
Set the permissions recursive in the path
Wipe out old permissions and ensure only the new permissions are set
Ensure a Linux ACL is present
The acl path
The type of the acl is used for it can be 'user' or 'group'
The user or group
Set the permissions eg.: rwx
Set the permissions recursive in the path
Wipe out old permissions and ensure only the new permissions are set