mirror of
https://github.com/moby/moby.git
synced 2025-07-30 18:23:29 +03:00
Revert "Revert "Add docker exec run a command in privileged mode""
This reverts commit40b71adee3
. Original commit (for which this is effectively a rebased version) is72a500e9e5
and was provided by Lei Jitang <leijitang@huawei.com>. Signed-off-by: Tim Dettrick <t.dettrick@uq.edu.au>
This commit is contained in:
@ -532,6 +532,31 @@ func (s *DockerSuite) TestExecWithUser(c *check.C) {
|
||||
}
|
||||
}
|
||||
|
||||
func (s *DockerSuite) TestExecWithPrivileged(c *check.C) {
|
||||
|
||||
runCmd := exec.Command(dockerBinary, "run", "-d", "--name", "parent", "--cap-drop=ALL", "busybox", "top")
|
||||
if out, _, err := runCommandWithOutput(runCmd); err != nil {
|
||||
c.Fatal(out, err)
|
||||
}
|
||||
|
||||
cmd := exec.Command(dockerBinary, "exec", "parent", "sh", "-c", "mknod /tmp/sda b 8 0")
|
||||
out, _, err := runCommandWithOutput(cmd)
|
||||
if err == nil || !strings.Contains(out, "Operation not permitted") {
|
||||
c.Fatalf("exec mknod in --cap-drop=ALL container without --privileged should failed")
|
||||
}
|
||||
|
||||
cmd = exec.Command(dockerBinary, "exec", "--privileged", "parent", "sh", "-c", "mknod /tmp/sda b 8 0 && echo ok")
|
||||
out, _, err = runCommandWithOutput(cmd)
|
||||
if err != nil {
|
||||
c.Fatal(err, out)
|
||||
}
|
||||
|
||||
if actual := strings.TrimSpace(out); actual != "ok" {
|
||||
c.Fatalf("exec mknod in --cap-drop=ALL container with --privileged failed: %v, output: %q", err, out)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func (s *DockerSuite) TestExecWithImageUser(c *check.C) {
|
||||
name := "testbuilduser"
|
||||
_, err := buildImage(name,
|
||||
|
Reference in New Issue
Block a user