diff options
-rw-r--r-- | source3/smbd/posix_acls.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/source3/smbd/posix_acls.c b/source3/smbd/posix_acls.c index 125234cdfa..b00f1ec1bc 100644 --- a/source3/smbd/posix_acls.c +++ b/source3/smbd/posix_acls.c @@ -1395,6 +1395,16 @@ static bool ensure_canon_entry_valid(connection_struct *conn, apply_default_perms(params, is_directory, pace, S_IROTH); } pace_other = pace; + + } else if (pace->type == SMB_ACL_USER || pace->type == SMB_ACL_GROUP) { + + /* + * Ensure create mask/force create mode is respected on set. + */ + + if (setting_acl && !is_default_acl) { + apply_default_perms(params, is_directory, pace, S_IRGRP); + } } } |