##### SUMMARY
When installing a collection, all files are created with mode 0600. This is caused by the way the collection .tar.gz file is extracted: https://github.com/ansible/ansible/blob/d3ec31f8d5683926aa6a05bb573d9929a6266fac/lib/ansible/galaxy/collection.py#L1076-L1090 The file created by `tempfile.NamedTemporaryFile()` seems to have mode `0600` and is simply moved to the final destination without a following `os.chmod`.

(See also this discussion: https://github.com/ansible-collections/community.general/pull/29#discussion_r396147440)

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
lib/ansible/galaxy/collection.py

##### ANSIBLE VERSION
```
2.9
2.10
```

self._metadata = metadata
        self._files = files
        self.add_requirement(parent, requirement)
    def __str__(self):
        return to_native("%s.%s" % (self.namespace, self.name))
    def __unicode__(self):
        return u"%s.%s" % (self.namespace, self.name)
    @property
    def metadata(self):
        self._get_metadata()
        return self._metadata
    @property
    def versions(self):
        if self.allow_pre_releases:
            return self._versions
        return set(v for v in self._versions if v == '*' or not SemanticVersion(v).is_prerelease)
    @versions.setter
    def versions(self, value):
        self._versions = set(value)
    @property
    def pre_releases(self):
        return set(v for v in self._versions if SemanticVersion(v).is_prerelease)
    @property
    def latest_version(self):
        try:
            return max([v for v in self.versions if v != '*'], key=SemanticVersion)
        except ValueError:  
            return '*'
    @property
    def dependencies(self):