mirror of https://github.com/containers/podman.git
libpod: handle single user mapped as root
if a single user is mapped in the user namespace, handle it as root. It is needed for running unprivileged containers with a single user available without being forced to run with euid and egid set to 0. Needs: https://github.com/containers/storage/pull/794 Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
This commit is contained in:
parent
231c528a4d
commit
64571ea0a4
|
|
@ -1012,6 +1012,9 @@ func (c *Container) IDMappings() (storage.IDMappingOptions, error) {
|
|||
|
||||
// RootUID returns the root user mapping from container
|
||||
func (c *Container) RootUID() int {
|
||||
if len(c.config.IDMappings.UIDMap) == 1 && c.config.IDMappings.UIDMap[0].Size == 1 {
|
||||
return c.config.IDMappings.UIDMap[0].HostID
|
||||
}
|
||||
for _, uidmap := range c.config.IDMappings.UIDMap {
|
||||
if uidmap.ContainerID == 0 {
|
||||
return uidmap.HostID
|
||||
|
|
@ -1022,6 +1025,9 @@ func (c *Container) RootUID() int {
|
|||
|
||||
// RootGID returns the root user mapping from container
|
||||
func (c *Container) RootGID() int {
|
||||
if len(c.config.IDMappings.GIDMap) == 1 && c.config.IDMappings.GIDMap[0].Size == 1 {
|
||||
return c.config.IDMappings.GIDMap[0].HostID
|
||||
}
|
||||
for _, gidmap := range c.config.IDMappings.GIDMap {
|
||||
if gidmap.ContainerID == 0 {
|
||||
return gidmap.HostID
|
||||
|
|
|
|||
Loading…
Reference in New Issue