### Summary

`ansible-test units --docker` throws lots of permission denied and cannot read when I run it with my user that its umask is 077 (I guess this has become default since fedora 33 too?) ,

I should run `find /path/to/ansible_repo -type f -exec chmod 755 {} \;` run tests; `git reset --hard;` and again and again now to run it.

### Issue Type

Bug Report

### Component Name

ansible-test

### Ansible Version

```console
$ ansible --version
[WARNING]: You are running the development version of Ansible. You should only run Ansible from "devel" if you are modifying the Ansible engine, or trying out features under development. This is a rapidly changing source of code and
can become unstable at any point.
ansible [core 2.12.0.dev0] (devel 8e755707b9) last updated 2021/06/22 09:50:17 (GMT +450)
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/username/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /tmp/ansible/lib/ansible
  ansible collection location = /home/username/.ansible/collections:/usr/share/ansible/collections
  executable location = /tmp/ansible/bin/ansible
  python version = 3.9.5 (default, May 24 2021, 12:50:35) [GCC 11.1.0]
  jinja version = 3.0.1
  libyaml = True
```


### Configuration

```console
$ ansible-config dump --only-changed
[WARNING]: You are running the development version of Ansible. You should only run Ansible from "devel" if you are modifying the Ansible engine, or trying out features under development. This is a rapidly changing source of code and
can become unstable at any point.
```


### OS / Environment

Arch Linux

### Steps to Reproduce

```
umask 077
git clone https://github.com/ansible/ansible
cd ansible
python3 -m venv venv
. venv/bin/activate
pip install -r requirements.txt
. hacking/env-setup
ansible-test units --docker default -v apt
```

### Expected Results

Run apt unit tests

### Actual Results

```console
$ umask 077
git clone https://github.com/ansible/ansible
cd ansible
python3 -m venv venv
. venv/bin/activate
pip install -r requirements.txt
. hacking/env-setup
ansible-test units --docker default -v apt
Cloning into 'ansible'...
remote: Enumerating objects: 558654, done.
remote: Counting objects: 100% (528/528), done.
remote: Compressing objects: 100% (294/294), done.
remote: Total 558654 (delta 261), reused 380 (delta 190), pack-reused 558126
Receiving objects: 100% (558654/558654), 189.80 MiB | 12.17 MiB/s, done.
Resolving deltas: 100% (374880/374880), done.
Collecting jinja2
  Using cached Jinja2-3.0.1-py3-none-any.whl (133 kB)
Collecting PyYAML
  Using cached PyYAML-5.4.1-cp39-cp39-manylinux1_x86_64.whl (630 kB)
Collecting cryptography
  Using cached cryptography-3.4.7-cp36-abi3-manylinux2014_x86_64.whl (3.2 MB)
Collecting packaging
  Using cached packaging-20.9-py2.py3-none-any.whl (40 kB)
Collecting resolvelib<0.6.0,>=0.5.3
  Using cached resolvelib-0.5.4-py2.py3-none-any.whl (12 kB)
Collecting MarkupSafe>=2.0
  Using cached MarkupSafe-2.0.1-cp39-cp39-manylinux2010_x86_64.whl (30 kB)
Collecting cffi>=1.12
  Using cached cffi-1.14.5-cp39-cp39-manylinux1_x86_64.whl (406 kB)
Collecting pycparser
  Using cached pycparser-2.20-py2.py3-none-any.whl (112 kB)
Collecting pyparsing>=2.0.2
  Using cached pyparsing-2.4.7-py2.py3-none-any.whl (67 kB)
Installing collected packages: pycparser, pyparsing, MarkupSafe, cffi, resolvelib, PyYAML, packaging, jinja2, cryptography
Successfully installed MarkupSafe-2.0.1 PyYAML-5.4.1 cffi-1.14.5 cryptography-3.4.7 jinja2-3.0.1 packaging-20.9 pycparser-2.20 pyparsing-2.4.7 resolvelib-0.5.4
WARNING: You are using pip version 21.1.1; however, version 21.1.2 is available.
You should consider upgrading via the '/tmp/ansible/venv/bin/python3 -m pip install --upgrade pip' command.
running egg_info
creating lib/ansible_core.egg-info
writing lib/ansible_core.egg-info/PKG-INFO
writing dependency_links to lib/ansible_core.egg-info/dependency_links.txt
writing requirements to lib/ansible_core.egg-info/requires.txt
writing top-level names to lib/ansible_core.egg-info/top_level.txt
writing manifest file 'lib/ansible_core.egg-info/SOURCES.txt'
adding license file 'COPYING' (matched pattern 'COPYING*')
reading manifest file 'lib/ansible_core.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'SYMLINK_CACHE.json'
warning: no previously-included files found matching 'docs/docsite/rst_warnings'
warning: no previously-included files found matching 'docs/docsite/rst/conf.py'
warning: no previously-included files found matching 'docs/docsite/rst/index.rst'
warning: no previously-included files matching '*' found under directory 'docs/docsite/_build'
warning: no previously-included files matching '*.pyc' found under directory 'docs/docsite/_extensions'
warning: no previously-included files matching '*.pyo' found under directory 'docs/docsite/_extensions'
warning: no files found matching '*.ps1' under directory 'lib/ansible/modules/windows'
writing manifest file 'lib/ansible_core.egg-info/SOURCES.txt'

Setting up Ansible to run out of checkout...

PATH=/tmp/ansible/bin:/tmp/ansible/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
PYTHONPATH=/tmp/ansible/lib
MANPATH=/tmp/ansible/docs/man:/usr/local/man:/usr/local/share/man:/usr/share/man:/usr/lib/jvm/default/man

Remember, you may wish to specify your host file with -i

Done!

Run command: docker -v
Detected "docker" container runtime version: Docker version 20.10.7, build f0df35096d
Run command: docker image inspect quay.io/ansible/ansible-core-test-container:3.5.1
Run command: docker pull quay.io/ansible/ansible-core-test-container:3.5.1
3.5.1: Pulling from ansible/ansible-core-test-container
f22ccc0b8772: Pull complete 
3cf8fb62ba5f: Pull complete 
e80c964ece6a: Pull complete 
ecc896cc6c3f: Pull complete 
777f20689dc4: Pull complete 
474c2d05b02b: Pull complete 
c0278e172c8c: Pull complete 
96f5d0d6647a: Pull complete 
41b0a7b33284: Pull complete 
b3cf0151b6fa: Pull complete 
7fa9865c61bb: Pull complete 
fb1b9bedfa35: Pull complete 
6f733604c063: Pull complete 
9b13e5d977b4: Pull complete 
8aaf7f683c90: Pull complete 
a8eaf227013e: Pull complete 
320d0c198a74: Pull complete 
22240759df50: Pull complete 
186dfb31df43: Pull complete 
2db05cf56d96: Pull complete 
0e945e5777b8: Pull complete 
17be1d55a000: Pull complete 
0e1d32cfaa00: Pull complete 
ce094160a7fb: Pull complete 
aec73d5b9ff2: Pull complete 
c08a43e29261: Pull complete 
fe0345aa031b: Pull complete 
2204b23826f9: Pull complete 
53e8fe18e0d8: Pull complete 
c2958bb126f5: Pull complete 
1690c2556d01: Pull complete 
a851d2495d04: Pull complete 
d0b78a914c70: Pull complete 
6e4277c6a6cc: Pull complete 
7c483918658b: Pull complete 
fbcdfe836028: Pull complete 
816c5fe915cf: Pull complete 
e257e44b4a20: Pull complete 
a48a708ba04b: Pull complete 
8ce29744f4c1: Pull complete 
ab6a5e02b3c9: Pull complete 
16ef875be6d1: Pull complete 
d06f103da691: Pull complete 
Digest: sha256:fd8be9daadfb97053a1222c85e46fd34cb1eaf64be5e66f1456cad9245e9527e
Status: Downloaded newer image for quay.io/ansible/ansible-core-test-container:3.5.1
quay.io/ansible/ansible-core-test-container:3.5.1
Run command: docker image inspect quay.io/ansible/pypi-test-container:1.0.0
Run command: docker pull quay.io/ansible/pypi-test-container:1.0.0
1.0.0: Pulling from ansible/pypi-test-container
04a5f4cda3ee: Pull complete 
ff496a88c8ed: Pull complete 
0ce83f459fe7: Pull complete 
2e5170e1f099: Pull complete 
7641eb41b08c: Pull complete 
ad15fa9da398: Pull complete 
087d91352424: Pull complete 
8b92efd6a100: Pull complete 
Digest: sha256:71042ab0a14971b5608fe75706de54f367fc31db573e3b3955182037f73cadb6
Status: Downloaded newer image for quay.io/ansible/pypi-test-container:1.0.0
quay.io/ansible/pypi-test-container:1.0.0
Run command: docker run --detach quay.io/ansible/pypi-test-container:1.0.0
Run command: docker inspect 43ef58d9089cc0d0a3eb39b3faff9416634f669ed4839aeb012557bb2aceb110
Creating a payload archive containing 5120 files...
Created a 6809287 byte payload archive containing 5120 files in 1 seconds.
Assuming Docker is available on localhost.
Run command: docker run --detach --volume /sys/fs/cgroup:/sys/fs/cgroup:ro --privileged=false --security-opt seccomp=unconfined --volume /var/run/docker.sock:/var/run/docker.sock quay.io/ansible/ansible-core-test-container:3.5.1
Run command: docker exec -i 03e2115329a110a2a7c2bcbad3a8ecd7b47e9d4988491a2e040e0040265b6d56 /bin/sh
Run command: docker exec -i 03e2115329a110a2a7c2bcbad3a8ecd7b47e9d4988491a2e040e0040265b6d56 dd of=/root/test.tgz bs=65536
Run command: docker exec 03e2115329a110a2a7c2bcbad3a8ecd7b47e9d4988491a2e040e0040265b6d56 tar oxzf /root/test.tgz -C /root
Run command: docker exec 03e2115329a110a2a7c2bcbad3a8ecd7b47e9d4988491a2e040e0040265b6d56 mkdir -p /root/ansible/test/results/junit /root/ansible/test/results/coverage
Run command: docker exec 03e2115329a110a2a7c2bcbad3a8ecd7b47e9d4988491a2e040e0040265b6d56 chmod 777 /root/ansible/test/results/junit /root/ansible/test/results/coverage
Run command: docker exec 03e2115329a110a2a7c2bcbad3a8ecd7b47e9d4988491a2e040e0040265b6d56 chmod 755 /root
Run command: docker exec 03e2115329a110a2a7c2bcbad3a8ecd7b47e9d4988491a2e040e0040265b6d56 chmod 644 /root/ansible/test/results/.tmp/metadata-3wcnluai.json
Run command: docker exec 03e2115329a110a2a7c2bcbad3a8ecd7b47e9d4988491a2e040e0040265b6d56 useradd pytest --create-home
Run command: docker exec 03e2115329a110a2a7c2bcbad3a8ecd7b47e9d4988491a2e040e0040265b6d56 /usr/bin/env ANSIBLE_TEST_CONTENT_ROOT=/root/ansible LC_ALL=en_US.UTF-8 /usr/bin/python3.9 /root/ansible/bin/ansible-test units -v apt --meta ...
Injecting custom PyPI hosts entries: /etc/hosts
Injecting custom PyPI config: /root/.pip/pip.conf
Injecting custom PyPI config: /root/.pydistutils.cfg
Run command: /usr/bin/python2.6 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py install --disable-pip-version-check -r /root/ansible/test/lib/ansible_test/_data/requirements/ansible-test.txt
Run command: /usr/bin/python2.6 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py install --disable-pip-version-check setuptools -c /root/ansible/test/lib/ansible_test/_data/requirements/constraints.txt
Run command: /usr/bin/python2.6 -c 'import cryptography'
Run command: /usr/bin/python2.6 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py install --disable-pip-version-check -r /root/ansible/test/lib/ansible_test/_data/requirements/units.txt -r test/units/requirements.txt -c /root/ ...
Run command: /usr/bin/python2.6 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py check --disable-pip-version-check
Run command: /usr/bin/python2.6 /root/ansible/test/lib/ansible_test/_data/yamlcheck.py
Run command: /usr/bin/python2.7 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py install --disable-pip-version-check -r /root/ansible/test/lib/ansible_test/_data/requirements/ansible-test.txt
Run command: /usr/bin/python2.7 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py install --disable-pip-version-check setuptools -c /root/ansible/test/lib/ansible_test/_data/requirements/constraints.txt
Run command: /usr/bin/python2.7 -c 'import cryptography'
Run command: /usr/bin/python2.7 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py install --disable-pip-version-check -r /root/ansible/test/lib/ansible_test/_data/requirements/units.txt -r test/units/requirements.txt -c /root/ ...
Run command: /usr/bin/python2.7 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py check --disable-pip-version-check
Run command: /usr/bin/python2.7 /root/ansible/test/lib/ansible_test/_data/yamlcheck.py
Run command: /usr/bin/python3.5 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py install --disable-pip-version-check -r /root/ansible/test/lib/ansible_test/_data/requirements/ansible-test.txt
Run command: /usr/bin/python3.5 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py install --disable-pip-version-check setuptools -c /root/ansible/test/lib/ansible_test/_data/requirements/constraints.txt
Run command: /usr/bin/python3.5 -c 'import cryptography'
Run command: /usr/bin/python3.5 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py install --disable-pip-version-check -r /root/ansible/test/lib/ansible_test/_data/requirements/units.txt -r test/units/requirements.txt -c /root/ ...
Run command: /usr/bin/python3.5 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py check --disable-pip-version-check
Run command: /usr/bin/python3.5 /root/ansible/test/lib/ansible_test/_data/yamlcheck.py
Run command: /usr/bin/python3.6 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py install --disable-pip-version-check -r /root/ansible/test/lib/ansible_test/_data/requirements/ansible-test.txt
Run command: /usr/bin/python3.6 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py install --disable-pip-version-check setuptools -c /root/ansible/test/lib/ansible_test/_data/requirements/constraints.txt
Run command: /usr/bin/python3.6 -c 'import cryptography'
Run command: /usr/bin/python3.6 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py install --disable-pip-version-check -r /root/ansible/test/lib/ansible_test/_data/requirements/units.txt -r test/units/requirements.txt -c /root/ ...
Run command: /usr/bin/python3.6 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py check --disable-pip-version-check
Run command: /usr/bin/python3.6 /root/ansible/test/lib/ansible_test/_data/yamlcheck.py
Run command: /usr/bin/python3.7 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py install --disable-pip-version-check -r /root/ansible/test/lib/ansible_test/_data/requirements/ansible-test.txt
Run command: /usr/bin/python3.7 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py install --disable-pip-version-check setuptools -c /root/ansible/test/lib/ansible_test/_data/requirements/constraints.txt
Run command: /usr/bin/python3.7 -c 'import cryptography'
Run command: /usr/bin/python3.7 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py install --disable-pip-version-check -r /root/ansible/test/lib/ansible_test/_data/requirements/units.txt -r test/units/requirements.txt -c /root/ ...
Run command: /usr/bin/python3.7 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py check --disable-pip-version-check
Run command: /usr/bin/python3.7 /root/ansible/test/lib/ansible_test/_data/yamlcheck.py
Run command: /usr/bin/python3.8 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py install --disable-pip-version-check -r /root/ansible/test/lib/ansible_test/_data/requirements/ansible-test.txt
Run command: /usr/bin/python3.8 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py install --disable-pip-version-check setuptools -c /root/ansible/test/lib/ansible_test/_data/requirements/constraints.txt
Run command: /usr/bin/python3.8 -c 'import cryptography'
Run command: /usr/bin/python3.8 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py install --disable-pip-version-check -r /root/ansible/test/lib/ansible_test/_data/requirements/units.txt -r test/units/requirements.txt -c /root/ ...
Run command: /usr/bin/python3.8 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py check --disable-pip-version-check
Run command: /usr/bin/python3.8 /root/ansible/test/lib/ansible_test/_data/yamlcheck.py
Run command: /usr/bin/python3.9 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py install --disable-pip-version-check -r /root/ansible/test/lib/ansible_test/_data/requirements/ansible-test.txt
Run command: /usr/bin/python3.9 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py install --disable-pip-version-check setuptools -c /root/ansible/test/lib/ansible_test/_data/requirements/constraints.txt
Run command: /usr/bin/python3.9 -c 'import cryptography'
Run command: /usr/bin/python3.9 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py install --disable-pip-version-check -r /root/ansible/test/lib/ansible_test/_data/requirements/units.txt -r test/units/requirements.txt -c /root/ ...
Run command: /usr/bin/python3.9 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py check --disable-pip-version-check
Run command: /usr/bin/python3.9 /root/ansible/test/lib/ansible_test/_data/yamlcheck.py
Run command: /usr/bin/python3.10 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py install --disable-pip-version-check -r /root/ansible/test/lib/ansible_test/_data/requirements/ansible-test.txt
Run command: /usr/bin/python3.10 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py install --disable-pip-version-check setuptools -c /root/ansible/test/lib/ansible_test/_data/requirements/constraints.txt
Run command: /usr/bin/python3.10 -c 'import cryptography'
Run command: /usr/bin/python3.10 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py install --disable-pip-version-check -r /root/ansible/test/lib/ansible_test/_data/requirements/units.txt -r test/units/requirements.txt -c /root ...
Run command: /usr/bin/python3.10 /root/ansible/test/lib/ansible_test/_data/quiet_pip.py check --disable-pip-version-check
Run command: /usr/bin/python3.10 /root/ansible/test/lib/ansible_test/_data/yamlcheck.py
Removing custom PyPI config: /root/.pydistutils.cfg
Removing custom PyPI config: /root/.pip/pip.conf
Removing custom PyPI hosts entries: /etc/hosts
Run command: docker inspect 03e2115329a110a2a7c2bcbad3a8ecd7b47e9d4988491a2e040e0040265b6d56
Run command: docker network disconnect bridge 03e2115329a110a2a7c2bcbad3a8ecd7b47e9d4988491a2e040e0040265b6d56
Run command: docker exec --user pytest 03e2115329a110a2a7c2bcbad3a8ecd7b47e9d4988491a2e040e0040265b6d56 /usr/bin/env ANSIBLE_TEST_CONTENT_ROOT=/root/ansible LC_ALL=en_US.UTF-8 /usr/bin/python3.9 /root/ansible/bin/ansible-test units ...
/usr/bin/python3.9: can't open file '/root/ansible/bin/ansible-test': [Errno 13] Permission denied
Run command: docker exec 03e2115329a110a2a7c2bcbad3a8ecd7b47e9d4988491a2e040e0040265b6d56 tar czf /root/results.tgz --exclude .tmp -C /root/ansible/test results
Run command: docker exec -i 03e2115329a110a2a7c2bcbad3a8ecd7b47e9d4988491a2e040e0040265b6d56 dd if=/root/results.tgz bs=65536
Run command: tar oxzf /tmp/ansible-result-nmflp18l.tgz -C /tmp/ansible/test
Run command: docker rm -f 43ef58d9089cc0d0a3eb39b3faff9416634f669ed4839aeb012557bb2aceb110
Run command: docker rm -f 03e2115329a110a2a7c2bcbad3a8ecd7b47e9d4988491a2e040e0040265b6d56
ERROR: Command "docker exec --user pytest 03e2115329a110a2a7c2bcbad3a8ecd7b47e9d4988491a2e040e0040265b6d56 /usr/bin/env ANSIBLE_TEST_CONTENT_ROOT=/root/ansible LC_ALL=en_US.UTF-8 /usr/bin/python3.9 /root/ansible/bin/ansible-test units -v apt --metadata test/results/.tmp/metadata-3wcnluai.json --truncate 236 --redact --color yes --requirements --pypi-endpoint http://172.17.0.2:3141/root/pypi/+simple/ --python default --requirements-mode skip" returned exit status 2.
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
"""
            Add the SSH keys to the payload file list.
            They are either outside the source tree or in the cache dir which is ignored by default.
            """
            files.append((key, os.path.relpath(key_dst, data_context().content.root)))
            files.append((pub, os.path.relpath(pub_dst, data_context().content.root)))
        data_context().register_payload_callback(ssh_key_callback)
        self.key, self.pub = key, pub
        if args.explain:
            self.pub_contents = None
            self.key_contents = None
        else:
            self.pub_contents = read_text_file(self.pub).strip()
            self.key_contents = read_text_file(self.key).strip()
    @staticmethod
    def get_relative_in_tree_private_key_path() -> str:
        """Return the ansible-test SSH private key path relative to the content tree."""
        temp_dir = ResultType.TMP.relative_path
        key = os.path.join(temp_dir, SshKey.KEY_NAME)
        return key
    def get_in_tree_key_pair_paths(self) -> t.Optional[tuple[str, str]]:
        """Return the ansible-test SSH key pair paths from the content tree."""
        temp_dir = ResultType.TMP.path
        key = os.path.join(temp_dir, self.KEY_NAME)
        pub = os.path.join(temp_dir, self.PUB_NAME)
        return key, pub
    def get_source_key_pair_paths(self) -> t.Optional[tuple[str, str]]: