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

meta_path = os.path.join(collection_skeleton, 'galaxy.yml')
    with open(meta_path, 'r') as galaxy_meta:
        metadata = yaml.safe_load(galaxy_meta)
    assert metadata['namespace'] == 'ansible_test'
    assert metadata['name'] == 'my_collection'
    assert metadata['authors'] == ['your name <example@domain.com>']
    assert metadata['readme'] == 'README.md'
    assert metadata['version'] == '1.0.0'
    assert metadata['description'] == 'your collection description'
    assert metadata['license'] == ['GPL-2.0-or-later']
    assert metadata['tags'] == []
    assert metadata['dependencies'] == {}
    assert metadata['documentation'] == 'http://docs.example.com'
    assert metadata['repository'] == 'http://example.com/repository'
    assert metadata['homepage'] == 'http://example.com'
    assert metadata['issues'] == 'http://example.com/issue/tracker'
    for d in ['docs', 'plugins', 'roles']:
        assert os.path.isdir(os.path.join(collection_skeleton, d)), \
            "Expected collection subdirectory {0} doesn't exist".format(d)
@pytest.mark.parametrize('collection_skeleton', [
    ('ansible_test.delete_me_skeleton', os.path.join(os.path.split(__file__)[0], 'test_data', 'collection_skeleton')),
], indirect=True)
def test_collection_skeleton(collection_skeleton):