diff options
| author | Zuul <zuul@review.opendev.org> | 2022-01-31 13:40:20 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2022-01-31 13:40:20 +0000 |
| commit | d84cd121cad5ed30fc87f97d5332f357b7f81e3a (patch) | |
| tree | 398dc3a8120264dd0d52485bac2692b0a8cedc6b | |
| parent | 5b2d5881d8182c9532da72c353e10834833777a7 (diff) | |
| parent | 1fe983df4fafa5a4a8eafe206e4abfaec2418da1 (diff) | |
| download | kolla-d84cd121cad5ed30fc87f97d5332f357b7f81e3a.tar.gz kolla-d84cd121cad5ed30fc87f97d5332f357b7f81e3a.zip | |
Merge "Ensure set_configs sets execute bit on directories"
| -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. |
