Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(WORKDIR): use the config.User for the new dir permissions #2269

Merged
merged 1 commit into from
Sep 29, 2022

Conversation

arisro
Copy link
Contributor

@arisro arisro commented Sep 27, 2022

Fixes #2259, probably #477, probably #1340 (does not repro anymore)

Description
WORKDIR ignores the currently set USER and creates the new directories with the root user ownership.

This changes that, by executing a chown after the mkdir if needed, and also handle the case where the provided USER is an uid and the passwd file is not available to resolve to the username.

The PR contains a smoke integration test as the container-diff cannot yet check file ownership (GoogleContainerTools/container-diff#308) - it just makes sure the build does not error out for various cases and that the diff looks good.

Submitter Checklist

These are the criteria that every PR should meet, please check them off as you
review them:

  • Includes unit tests
  • Adds integration tests if needed.

Reviewer Notes

  • The code flow looks good.
  • Unit tests and or integration tests added.

Release Notes

- kaniko creates the new directories from WORKDIR with the correct ownership

@google-cla
Copy link

google-cla bot commented Sep 27, 2022

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

pkg/util/command_util.go Outdated Show resolved Hide resolved
WORKDIR ignores the currently set USER and creates the new directories
with the root user ownership.

This changes that, by executing a chown after the mkdir if needed, and
also handle the case where the provided USER is an uid and the passwd
file is not available to resolve to the username.

Fixes GoogleContainerTools#2259

Signed-off-by: Aris Buzachis <buzachis.aris@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

WORKDIR does no create the directory with the ownership of the active USER
2 participants