### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

If I try to run localstack docker image as non-root user, it fails with the following traceback.
```
2022-01-30T00:57:17.569:DEBUG:localstack.services.infra: [shutdown] Force shutdown, not waiting for infrastructure to shut down
Traceback (most recent call last):
  File "bin/localstack", line 23, in <module>
    main()
  File "bin/localstack", line 19, in main
    main.main()
  File "/opt/code/localstack/localstack/cli/main.py", line 6, in main
    cli()
  File "/opt/code/localstack/localstack/cli/plugin.py", line 15, in __call__
    self.group(*args, **kwargs)
  File "/opt/code/localstack/.venv/lib/python3.8/site-packages/click/core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "/opt/code/localstack/.venv/lib/python3.8/site-packages/click/core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "/opt/code/localstack/.venv/lib/python3.8/site-packages/click/core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/opt/code/localstack/.venv/lib/python3.8/site-packages/click/core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/opt/code/localstack/.venv/lib/python3.8/site-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/opt/code/localstack/localstack/cli/localstack.py", line 123, in cmd_start
    bootstrap.start_infra_locally()
  File "/opt/code/localstack/localstack/utils/bootstrap.py", line 299, in start_infra_locally
    return infra.start_infra()
  File "/opt/code/localstack/localstack/services/infra.py", line 428, in start_infra
    raise e
  File "/opt/code/localstack/localstack/services/infra.py", line 414, in start_infra
    thread = do_start_infra(asynchronous, apis, is_in_docker)
  File "/opt/code/localstack/localstack/services/infra.py", line 527, in do_start_infra
    prepare_installation()
  File "/opt/code/localstack/localstack/utils/bootstrap.py", line 79, in wrapped
    return f(*args, **kwargs)
  File "/opt/code/localstack/localstack/services/infra.py", line 470, in prepare_installation
    install.install_components(apis)
  File "/opt/code/localstack/localstack/services/install.py", line 607, in install_components
    parallelize(install_component, names)
  File "/opt/code/localstack/localstack/utils/common.py", line 2253, in parallelize
    return pool.map(func, arr)
  File "/usr/local/lib/python3.8/multiprocessing/pool.py", line 364, in map
    return self._map_async(func, iterable, mapstar, chunksize).get()
  File "/usr/local/lib/python3.8/multiprocessing/pool.py", line 771, in get
    raise self._value
  File "/usr/local/lib/python3.8/multiprocessing/pool.py", line 125, in worker
    result = (True, func(*args, **kwds))
  File "/usr/local/lib/python3.8/multiprocessing/pool.py", line 48, in mapstar
    return list(map(*args))
  File "/opt/code/localstack/localstack/services/install.py", line 603, in install_component
    installer()
  File "/opt/code/localstack/localstack/services/install.py", line 498, in install_dynamodb_local
    save_file(log4j2_file, log4j2_config)
  File "/opt/code/localstack/localstack/utils/common.py", line 1558, in save_file
    with open(file, mode, opener=_opener if permissions else None) as f:
PermissionError: [Errno 13] Permission denied: '/opt/code/localstack/localstack/infra/dynamodb/log4j2.xml'
make: *** [Makefile:284: infra] Error 1
Waiting for all LocalStack services to be ready
Waiting for all LocalStack services to be ready
```

### Expected Behavior

Able to run as non-root user `localstack`. Used to be able to run as non-root user until 0.12.2

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

#### How are you starting localstack (e.g., `bin/localstack` command, arguments, or `docker-compose.yml`)

Docker compose file:

```
version: '3'

volumes:
  tmp_localstack: {}

services:
  localstack:
    image: localstack/localstack
    env_file:
      - ./.envs/.local/.localstack
    user: localstack
    ports:
      - '4566:4566'
      - '4571:4571'
    volumes:
      - tmp_localstack:/tmp/localstack
```


### Environment

```markdown
- OS: Ubuntu 20.04 on WSL2
- LocalStack: latest (> 0.13.3)
```


### Anything else?

_No response_
import functools
import glob
import json
import logging
import os
import platform
import re
import shutil
import stat
import sys
import tempfile
import threading
import time
from pathlib import Path
from typing import Callable, Dict, List, Tuple, Union
import requests
import semver
from plugin import Plugin, PluginManager
from localstack import config
from localstack.config import dirs
from localstack.constants import (
    DEFAULT_SERVICE_PORTS,
    DYNAMODB_JAR_URL,
    ELASTICMQ_JAR_URL,
    ELASTICSEARCH_DEFAULT_VERSION,
    ELASTICSEARCH_DELETE_MODULES,
    ELASTICSEARCH_PLUGIN_LIST,