summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoranatoly techtonik <techtonik@gmail.com>2014-11-10 20:32:05 +0300
committeranatoly techtonik <techtonik@gmail.com>2014-11-10 20:32:05 +0300
commit4f2b99c1e079b266256beb854e36b22310b82ad9 (patch)
tree5692bef02fa5ae31953c26579095187aa4793945
parentcc1de2c5620bb0ed17ac29c66332941407d140de (diff)
downloadansible-modules-core-4f2b99c1e079b266256beb854e36b22310b82ad9.tar.gz
acl: Fix X support in ACL permissions
If you try to set rwX permissions, ACL fails to set them at all. Expected: $ sudo setfacl -m 'group::rwX' www ... drwxrwxr-x 2 root root 4096 Nov 10 17:09 www With Ansible: acl: name=/var/www permissions=rwX etype=group state=present ... drwxrw-r-x 2 root root 4096 Nov 10 17:30 www x for group is erased. =/
-rw-r--r--files/acl.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/files/acl.py b/files/acl.py
index 30c533e0..9790f8c9 100644
--- a/files/acl.py
+++ b/files/acl.py
@@ -111,6 +111,9 @@ def normalize_permissions(p):
perms[1] = 'w'
if char == 'x':
perms[2] = 'x'
+ if char == 'X':
+ if perms[2] != 'x': # 'x' is more permissive
+ perms[2] = 'X'
return ''.join(perms)
def split_entry(entry):