Skip to content

Commit 28fd1a3

Browse files
committed
allow unprivileged users to use ping in application containers
Signed-off-by: Gwendolyn <[email protected]>
1 parent 28d0132 commit 28fd1a3

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

internal/server/instance/drivers/driver_lxc.go

+22
Original file line numberDiff line numberDiff line change
@@ -2336,6 +2336,28 @@ func (d *lxc) startCommon() (string, []func() error, error) {
23362336
return "", nil, err
23372337
}
23382338

2339+
maxGid := int64(4294967295)
2340+
2341+
if !d.IsPrivileged() {
2342+
maxGid = 0
2343+
idMap, err := d.CurrentIdmap()
2344+
if err != nil {
2345+
return "", nil, err
2346+
}
2347+
2348+
for _, entry := range idMap.Entries {
2349+
if entry.NSID+entry.MapRange-1 > maxGid {
2350+
maxGid = entry.NSID + entry.MapRange - 1
2351+
}
2352+
}
2353+
}
2354+
2355+
err = lxcSetConfigItem(cc, "lxc.sysctl.net.ipv4.ping_group_range", fmt.Sprintf("0 %d", maxGid))
2356+
2357+
if err != nil {
2358+
return "", nil, err
2359+
}
2360+
23392361
// Get all mounts so far.
23402362
lxcMounts := []string{"/dev", "/proc", "/sys", "/sys/fs/cgroup"}
23412363
for _, mount := range cc.ConfigItem("lxc.mount.entry") {

0 commit comments

Comments
 (0)