能够使用非 sudo 用户覆盖 `Docker` 中只读文件的 root 权限

能够使用非 sudo 用户覆盖 `Docker` 中只读文件的 root 权限

我正在做一些实验码头工人并发现了一个奇怪的行为。

我能够用另一个没有 root 权限的用户覆盖 Docker 内 root 用户创建的文件的所有权。

以下是重现它的步骤:

$> docker run -dit ubuntu:16.04 bash
$> docker exec -it cont_id bash
$> apt update && apt install -y vim
$> useradd cp -m
$> vim /home/cp/hello.txt
  #  Write some text and save it

$> su cp 
$> cd ~/ && ls -latr;
  #  Will list hello.txt with user and group as root

$> vim hello.txt
  #  Write some text and try saving it normally which will fail.
  #  Try saving it with `:wq!`

瞧,它已保存,文件所属的用户和组也更改为新用户。

我已经为此做了终端录音,并发布了相同的内容这里

答案1

确实,这与本案无关Docker。这是正常行为,因为vim假设用户对文件夹具有完全权限,它将用新文件替换该文件。对于用户没有完全权限的文件夹,不会发生同样的情况。

相关内容