日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Docker安全之用户资源隔离

發布時間:2025/7/25 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker安全之用户资源隔离 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Docker安全之用戶資源隔離

docker 字母哥 18小時前 75℃ 0評論

向您推薦

Dcoker入門與實踐系列文章

歡迎加入QQ技術交流群:300139299

docker進行資源隔離的6種namespace

namespace隔離內容內核版本
UTS主機名與域名Linux 2.6.19
IPC信號量,消息隊列和共享內存Linux 2.6.19
PID進程編號Linux 2.6.24
Network網絡設備,網絡棧,端口始于Linux 2.6.24 完成于 Linux 2.6.29
Mount文件掛載Linux 2.4.19
User用戶用戶組始于 Linux 2.6.23 完成于 Linux 3.8

其中User namespace是從docker1.10開始被支持,并且不是默認開啟的.

以上內容不是這篇文章的重點,此篇文章主要是介紹user namespace

一.User namespace的作用

docker 使用namespace進行資源隔離,其中一種是user namespace.user namespace主要隔離了安全相關的標識符和屬性,包括用戶ID,用戶組Id,root目錄,key(密鑰)以及特殊權限.

默認的情況下,docker容器使用的root用戶和宿主機的root用戶是同一個用戶,盡管可以限制容器內root用戶的權限(capability),但本質上仍然和宿主機root用戶是同一個用戶.

有了user namespace之后,我們就可以將宿主機上的普通用戶映射為容器的root用戶,這樣容器中的實際用戶為普通用戶權限,可以將容器的安全程度提高一個等級!

實驗一:不使用user namespace進行資源隔離

  • 運行一個容器
docker run -it ubuntu:14.04 top
  • 另外開一個終端,查看該容器進程在宿主機上的用戶
~$ ps -aux|grep top root 18724 0.2 0.0 19848 2400 pts/15 Ss+ 14:16 0:00 top

可以看到,運行top命令的用戶是root,即容器中的root用戶就是宿主機的root用戶

實驗二:使用user namespace進行資源隔離

配置實現

  • 運行docker deamon進程的時候加入參數--userns-remap=default,如:ubuntu中是修改/etc/default/docker中的DOCKER_OPTS,追加配置--userns-remap=default
  • 重啟docker deamon,如:ubuntu中是使用service docker restart

實驗內容

  • 運行一個容器
docker run -it ubuntu:14.04 top
  • 另外開一個終端,查看該容器進程在宿主機上的用戶
~$ ps -aux|grep top 165536 19347 0.1 0.0 19848 2424 pts/15 Ss+ 14:32 0:00 top

可以看到,在宿主機上top命令的執行使用的用戶是165536(uid),不是root

  • 看看容器內的top命令的輸出
1 root 20 0 19848 2424 2108 R 0.0 0.0 0:00.07 top

容器內,看上去仍然是root用戶.即:有了user namespace之后,我們就可以將宿主機上的普通用戶映射為容器的root用戶.
那么,有一個問題?這個普通用戶是誰?

二.user namespace的默認映射用戶

上面的實驗中,我們已經使用了user namespace的最簡化配置.即:--userns-remap=default

實際上,docker新建了一個用戶和用戶組都叫做dockremap,容器內的root用戶映射到宿主機的這個dockremap用戶上.

$ cat /etc/passwd …… dockremap:x:10000:10000:,,,:/home/dockremap:/bin/false $ cat /etc/subuid …… dockremap:165536:65536 $ cat /etc/subgid …… dockremap:165536:65536

三.自定義映射用戶

首先在宿主機上創建用戶及用戶組,在啟動docker deamon的時候傳入如下參數.

--userns-remap=<uid> --userns-remap=<uid>:<gid> --userns-remap=<username> --userns-remap=<username>:<groupname>

向您推薦

Dcoker入門與實踐系列文章

歡迎加入QQ技術交流群:300139299

轉載請注明:字母哥博客 ? Docker安全之用戶資源隔離

總結

以上是生活随笔為你收集整理的Docker安全之用户资源隔离的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。