diff options
| -rw-r--r-- | docker/base/set_configs.py | 10 | ||||
| -rw-r--r-- | releasenotes/notes/set_config-directory-execute-permission-8ab919b7b17025d2.yaml | 5 |
2 files changed, 15 insertions, 0 deletions
diff --git a/docker/base/set_configs.py b/docker/base/set_configs.py index 0cb0e414c..e624f29ba 100644 --- a/docker/base/set_configs.py +++ b/docker/base/set_configs.py @@ -20,6 +20,7 @@ import logging import os import pwd import shutil +import stat import sys @@ -369,6 +370,15 @@ def handle_permissions(config): perm = ''.join([perm[:1], 'o', perm[1:]]) perm = int(perm, base=0) + # Ensure execute bit on directory if read bit is set + if os.path.isdir(path): + if perm & stat.S_IRUSR: + perm |= stat.S_IXUSR + if perm & stat.S_IRGRP: + perm |= stat.S_IXGRP + if perm & stat.S_IROTH: + perm |= stat.S_IXOTH + try: os.chmod(path, perm) except OSError: diff --git a/releasenotes/notes/set_config-directory-execute-permission-8ab919b7b17025d2.yaml b/releasenotes/notes/set_config-directory-execute-permission-8ab919b7b17025d2.yaml new file mode 100644 index 000000000..04a047629 --- /dev/null +++ b/releasenotes/notes/set_config-directory-execute-permission-8ab919b7b17025d2.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - | + Fixes set_configs.py configuring same permission for directories and files, + causing directories lacking execute permission if not set for files. |
