diff --git a/changelogs/fragments/74613-actionfixup_perms2_macos_remote_paths_ensure_list.yml b/changelogs/fragments/74613-actionfixup_perms2_macos_remote_paths_ensure_list.yml new file mode 100644 index 00000000000..bee7c9cbdcc --- /dev/null +++ b/changelogs/fragments/74613-actionfixup_perms2_macos_remote_paths_ensure_list.yml @@ -0,0 +1,2 @@ +bugfixes: + - "remote tmpdir permissions - fix type error in macOS chmod ACL fallback (https://github.com/ansible/ansible/pull/74613)." diff --git a/lib/ansible/plugins/action/__init__.py b/lib/ansible/plugins/action/__init__.py index b45c3db4ae1..1ea7063ea26 100644 --- a/lib/ansible/plugins/action/__init__.py +++ b/lib/ansible/plugins/action/__init__.py @@ -630,7 +630,7 @@ class ActionBase(with_metaclass(ABCMeta, object)): # pass that argument as the first element of remote_paths. So we end # up running `chmod +a [that argument] [file 1] [file 2] ...` try: - res = self._remote_chmod([chmod_acl_mode] + remote_paths, '+a') + res = self._remote_chmod([chmod_acl_mode] + list(remote_paths), '+a') except AnsibleAuthenticationFailure as e: # Solaris-based chmod will return 5 when it sees an invalid mode, # and +a is invalid there. Because it returns 5, which is the same