From 7b4c3fc11161114572ec1bdcfcf35530e7c46e33 Mon Sep 17 00:00:00 2001 From: Wang-squirrel <117961776+Wang-squirrel@users.noreply.github.com> Date: Fri, 11 Nov 2022 17:25:22 +0800 Subject: [PATCH] Add support for umask when exec container Signed-off-by: WangXiaoSong --- libcontainer/setns_init_linux.go | 4 ++++ tests/integration/umask.bats | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/libcontainer/setns_init_linux.go b/libcontainer/setns_init_linux.go index da31110ae..ac5819075 100644 --- a/libcontainer/setns_init_linux.go +++ b/libcontainer/setns_init_linux.go @@ -59,6 +59,10 @@ func (l *linuxSetnsInit) Init() error { return err } } + if l.config.Config.Umask != nil { + unix.Umask(int(*l.config.Config.Umask)) + } + if err := selinux.SetExecLabel(l.config.ProcessLabel); err != nil { return err } diff --git a/tests/integration/umask.bats b/tests/integration/umask.bats index fe9f9d637..38e8f6216 100644 --- a/tests/integration/umask.bats +++ b/tests/integration/umask.bats @@ -21,4 +21,9 @@ function teardown() { [ "$status" -eq 0 ] # umask 63 decimal = umask 77 octal [[ "${output}" == *"77"* ]] + + runc exec test_busybox grep '^Umask:' "/proc/self/status" + [ "$status" -eq 0 ] + # umask 63 decimal = umask 77 octal + [[ "${output}" == *"77"* ]] }