Merge pull request #10741 from mbaynton/userns-allow-setgroups
Allow `setgroups` in user namespaces
This commit is contained in:
commit
963c216048
@ -53,6 +53,7 @@ func UnshareAfterEnterUserns(uidMap, gidMap string, unshareFlags uintptr, f func
|
|||||||
Unshareflags: unshareFlags,
|
Unshareflags: unshareFlags,
|
||||||
UidMappings: uidMaps,
|
UidMappings: uidMaps,
|
||||||
GidMappings: gidMaps,
|
GidMappings: gidMaps,
|
||||||
|
GidMappingsEnableSetgroups: true,
|
||||||
// NOTE: It's reexec but it's not heavy because subprocess
|
// NOTE: It's reexec but it's not heavy because subprocess
|
||||||
// be in PTRACE_TRACEME mode before performing execve.
|
// be in PTRACE_TRACEME mode before performing execve.
|
||||||
Ptrace: true,
|
Ptrace: true,
|
||||||
|
@ -85,6 +85,10 @@ func testUnshareAfterEnterUsernsShouldWork(t *testing.T) {
|
|||||||
data, err = os.ReadFile(fmt.Sprintf("/proc/%d/gid_map", pid))
|
data, err = os.ReadFile(fmt.Sprintf("/proc/%d/gid_map", pid))
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Equal(t, " 0 1000 10\n", string(data))
|
require.Equal(t, " 0 1000 10\n", string(data))
|
||||||
|
|
||||||
|
data, err = os.ReadFile(fmt.Sprintf("/proc/%d/setgroups", pid))
|
||||||
|
require.NoError(t, err)
|
||||||
|
require.Equal(t, "allow\n", string(data))
|
||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
require.NoError(t, uerr)
|
require.NoError(t, uerr)
|
||||||
|
Loading…
Reference in New Issue
Block a user