##### 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
```

assert file_manifest['format'] == 1
        assert len(file_manifest.keys()) == 5
        files_file = tar.extractfile(tar_members[1])
        try:
            files = json.loads(to_text(files_file.read()))
        finally:
            files_file.close()
        assert len(files['files']) == 6
        assert files['format'] == 1
        assert len(files.keys()) == 2
        valid_files_entries = ['.', 'roles', 'docs', 'plugins', 'plugins/README.md', 'README.md']
        for file_entry in files['files']:
            assert file_entry['name'] in valid_files_entries
            assert file_entry['format'] == 1
            if file_entry['name'] == 'plugins/README.md':
                assert file_entry['ftype'] == 'file'
                assert file_entry['chksum_type'] == 'sha256'
                # Can't test the actual checksum as the html link changes based on the version.
                assert file_entry['chksum_sha256'] is not None
            elif file_entry['name'] == 'README.md':
                assert file_entry['ftype'] == 'file'
                assert file_entry['chksum_type'] == 'sha256'
                assert file_entry['chksum_sha256'] == '45923ca2ece0e8ce31d29e5df9d8b649fe55e2f5b5b61c9724d7cc187bd6ad4a'
            else:
                assert file_entry['ftype'] == 'dir'
                assert file_entry['chksum_type'] is None
                assert file_entry['chksum_sha256'] is None
            assert len(file_entry.keys()) == 5
@pytest.fixture()
def collection_install(reset_cli_args, tmp_path_factory, monkeypatch):