oci: skip checking gid for WithAppendAdditionalGroups
Signed-off-by: Ye Sijun <junnplus@gmail.com>
This commit is contained in:
parent
01a2b793b8
commit
2dbff1dbca
@ -879,16 +879,20 @@ func WithAppendAdditionalGroups(groups ...string) SpecOpts {
|
|||||||
groupMap := make(map[string]user.Group)
|
groupMap := make(map[string]user.Group)
|
||||||
for _, group := range ugroups {
|
for _, group := range ugroups {
|
||||||
groupMap[group.Name] = group
|
groupMap[group.Name] = group
|
||||||
groupMap[strconv.Itoa(group.Gid)] = group
|
|
||||||
}
|
}
|
||||||
var gids []uint32
|
var gids []uint32
|
||||||
for _, group := range groups {
|
for _, group := range groups {
|
||||||
|
gid, err := strconv.ParseUint(group, 10, 32)
|
||||||
|
if err == nil {
|
||||||
|
gids = append(gids, uint32(gid))
|
||||||
|
} else {
|
||||||
g, ok := groupMap[group]
|
g, ok := groupMap[group]
|
||||||
if !ok {
|
if !ok {
|
||||||
return fmt.Errorf("unable to find group %s", group)
|
return fmt.Errorf("unable to find group %s", group)
|
||||||
}
|
}
|
||||||
gids = append(gids, uint32(g.Gid))
|
gids = append(gids, uint32(g.Gid))
|
||||||
}
|
}
|
||||||
|
}
|
||||||
s.Process.User.AdditionalGids = append(s.Process.User.AdditionalGids, gids...)
|
s.Process.User.AdditionalGids = append(s.Process.User.AdditionalGids, gids...)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -476,6 +476,11 @@ daemon:x:2:root,bin,daemon
|
|||||||
groups: []string{"bin", "daemon"},
|
groups: []string{"bin", "daemon"},
|
||||||
expected: []uint32{0, 1, 2},
|
expected: []uint32{0, 1, 2},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "append group id",
|
||||||
|
groups: []string{"999"},
|
||||||
|
expected: []uint32{999},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: "unknown group",
|
name: "unknown group",
|
||||||
groups: []string{"unknown"},
|
groups: []string{"unknown"},
|
||||||
|
Loading…
Reference in New Issue
Block a user