成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > 如何隔離docker容器中的用戶的方法

如何隔離docker容器中的用戶的方法

熱門標簽:新鄉(xiāng)人工智能電話機器人加盟 臨汾電銷機器人費用 福州呼叫中心外呼系統(tǒng)哪家好 地圖標注需要提交啥資料入駐 河南省鄭州市地圖標注 七大洲地圖標注 地圖標注w是什么方向 400電話申請找哪家公司 昆明外呼系統(tǒng)

筆者在前文《理解 docker 容器中的 uid 和 gid》介紹了 docker 容器中的用戶與宿主機上用戶的關系,得出的結論是:docker 默認沒有隔離宿主機用戶和容器中的用戶。如果你已經(jīng)了解了 Linux 的 user namespace 技術(參考《Linux Namespace : User》),那么自然會問:docker 為什么不利用 Linux user namespace 實現(xiàn)用戶的隔離呢?事實上,docker 已經(jīng)實現(xiàn)了相關的功能,只是默認沒有啟用而已。筆者將在本文中介紹如何配置 docker 來隔離容器中的用戶。
說明:本文的演示環(huán)境為 ubuntu 16.04。

了解 Linux user namespace

Linux user namespace 為正在運行的進程提供安全相關的隔離(其中包括 uid 和 gid),限制它們對系統(tǒng)資源的訪問,而這些進程卻感覺不到這些限制的存在。關于 Linux User Namespace 的介紹請參考筆者的《Linux Namespace : User》一文。

對于容器而言,阻止權限提升攻擊(privilege-escalation attacks)的最好方法就是使用普通用戶權限運行容器的應用程序。
然而有些應用必須在容器中以 root 用戶來運行,這就是我們使用 user namespace 的最佳場景。我們通過 user namespace 技術,把宿主機中的一個普通用戶(只有普通權限的用戶)映射到容器中的 root 用戶。在容器中,該用戶在自己的 user namespace 中認為自己就是 root,也具有 root 的各種權限,但是對于宿主機上的資源,它只有很有限的訪問權限(普通用戶)。

User namespace 的用戶映射

在配置 docker daemon 啟用 user namespace 前,我需要先來了解一些關于從屬(subordinate)用戶/組和映射(remapping)的概念。從屬用戶和組的映射由兩個配置文件來控制,分別是 /etc/subuid 和 /etc/subgid。看下它們的默認內(nèi)容:在配置 docker daemon 啟用 user namespace 前,我需要先來了解一些關于從屬(subordinate)用戶/組和映射(remapping)的概念:

對于 subuid,這一行記錄的含義為:

用戶 nick,在當前的 user namespace 中具有 65536 個從屬用戶,用戶 ID 為 100000-165535,在一個子 user namespace 中,這些從屬用戶被映射成 ID 為 0-65535 的用戶。subgid 的含義和 subuid 相同。

比如說用戶 nick 在宿主機上只是一個具有普通權限的用戶。我們可以把他的一個從屬 ID(比如 100000 )分配給容器所屬的 user namespace,并把 ID 100000 映射到該 user namespace 中的 uid 0。此時即便容器中的進程具有 root 權限,但也僅僅是在容器所在的 user namespace 中,一旦到了宿主機中,你頂多也就有 nick 用戶的權限而已。

當開啟 docker 對 user namespace 的支持時(docker 的 userns-remap 功能),我們可以指定不同的用戶映射到容器中。比如我們專門創(chuàng)建一個用戶 dockeruser,然后手動設置其 subuid 和 subgid:

nick:100000:65536
dockeruser:165536:65536

并把它指定給 docker daemon:

{
 "userns-remap": "dockeruser"
}

請注意 subuid 的設置信息,我們?yōu)?dockeruser 設置的從屬 ID 和 nick 用戶是不重疊的,實際上任何用戶的從屬 ID 設置都是不能重疊的。

或者一切從簡,讓 docker 為我們包辦這些繁瑣的事情,直接把 docker daemon 的 userns-rempa 參數(shù)指定為 "default":

{
 "userns-remap": "default"
}

這時,docker 會自動完成其它的配置。

配置 docker daemon 啟用用戶隔離

這里筆者采取簡單的方式,讓 docker 創(chuàng)建默認的用戶用于 user namespace。我們需要先創(chuàng)建 /etc/docker/daemon.json 文件:

$ sudo touch /etc/docker/daemon.json

然后編輯其內(nèi)容如下(如果該文件已經(jīng)存在,僅添加下面的配置項即可),并重啟 docker 服務:

{
 "userns-remap": "default"
}
$ sudo systemctl restart docker.service

下面我們來驗證幾個關于用戶隔離的幾個點。

首先驗證 docker 創(chuàng)建了一個名為 dockremap 的用戶:

然后查看 /etc/subuid 和 /etc/subgid 文件中是否添加了新用戶 dockremap 相關的項:

接下來我們發(fā)現(xiàn)在 /var/lib/docker 目錄下新建了一個目錄: 165536.165536,查看該目錄的權限:

165536 是由用戶 dockremap 映射出來的一個 uid。查看 165536.165536 目錄的內(nèi)容:

與 /var/lib/docker 目錄下的內(nèi)容基本一致,說明啟用用戶隔離后文件相關的內(nèi)容都會放在新建的 165536.165536 目錄下。

通過上面的檢查,我們可以確認 docker daemon 已經(jīng)啟用了用戶隔離的功能。

宿主機中的 uid 與容器中 uid

在 docker daemon 啟用了用戶隔離的功能后,讓我們看看宿主機中的 uid 與容器中 uid 的變化。

$ docker run -d --name sleepme ubuntu sleep infinity

uid 165536 是用戶 dockremap 的一個從屬 ID,在宿主機中并沒有什么特殊權限。然而容器中的用戶卻是 root,這樣的結果看上去很完美:

新創(chuàng)建的容器會創(chuàng)建 user namespace

在 docker daemon 啟用用戶隔離的功能前,新創(chuàng)建的容器進程和宿主機上的進程在相同的 user namespace 中。也就是說 docker 并沒有為容器創(chuàng)建新的 user namespace:

上圖中的容器進程 sleep 和宿主機上的進程在相同的 user namespace 中(沒有開啟用戶隔離功能的場景)。

在 docker daemon 啟用用戶隔離的功能后,讓我們查看容器中進程的 user namespace:

上圖中的 4404 就是我們剛啟動的容器中 sleep 進程的 PID。可以看出,docker 為容器創(chuàng)建了新的 user namespace。在這個 user namespace 中,容器中的用戶 root 就是天神,擁有至高無上的權力!

訪問數(shù)據(jù)卷中的文件

我們可以通過訪問數(shù)據(jù)卷中的文件來證明容器中 root 用戶究竟具有什么樣的權限?創(chuàng)建四個文件,分別屬于用戶 root 、165536 和 nick。rootfile 只有 root 用戶可以讀寫,用戶 nick 具有 nickfile 的讀寫權限,uid 165536 具有文件 165536file 的讀寫權限,任何用戶都可以讀寫 testfile 文件:

下面把這幾個文件以數(shù)據(jù)卷的方式掛載到容器中,并檢查從容器中訪問它們的權限:

$ docker run -it --name test -w=/testv -v $(pwd)/testv:/testv ubuntu

容器中的 root 用戶只能訪問 165536file 和 testfile,說明這個用戶在宿主機中只有非常有限的權限。

在容器中禁用 user namespace

一旦為 docker daemon 設置了 "userns-remap" 參數(shù),所有的容器默認都會啟用用戶隔離的功能(默認創(chuàng)建一個新的 user namespace)。有些情況下我們可能需要回到?jīng)]有開啟用戶隔離的場景,這時可以通過 --userns=host 參數(shù)為單個的容器禁用用戶隔離功能。--userns=host 參數(shù)主要給下面三個命令使用:

docker container create
docker container run
docker container exec

比如執(zhí)行下的命令:

$ docker run -d --userns=host --name sleepme ubuntu sleep infinity

查看進程信息:

進程的有效用戶又成 root 了,并且也沒有為進程創(chuàng)建新的 user namespace:

已知問題

User namespace 屬于比較高級的功能,目前 docker 對它的支持還算不上完美,下面是已知的幾個和現(xiàn)有功能不兼容的問題:

  • 共享主機的 PID 或 NET namespace(--pid=host or --network=host)
  • 外部的存儲、數(shù)據(jù)卷驅動可能不兼容、不支持 user namespace
  • 使用 --privileged 而不指定 --userns=host

總結

Docker 是支持 user namespace 的,并且配置的方式也非常簡便。在開啟 user namespace 之后我們享受到了安全性的提升,但同時也會因為種種限制讓其它的個別功能出現(xiàn)問題。這時我們需要作出選擇,告別一刀切的決策,讓合適的功能出現(xiàn)的合適的場景中。

參考:

Understanding how uid and gid work in Docker containers
Introduction to User Namespaces in Docker Engine
Isolate containers with a user namespace

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:臨沂 鎮(zhèn)江 岳陽 股票 烏海 紅河 四川

巨人網(wǎng)絡通訊聲明:本文標題《如何隔離docker容器中的用戶的方法》,本文關鍵詞  如何,隔離,docker,容器,中的,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《如何隔離docker容器中的用戶的方法》相關的同類信息!
  • 本頁收集關于如何隔離docker容器中的用戶的方法的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    国产精品成人国产乱一区| 亚洲成人激情视频| 在线激情小视频| 日本免费视频| 久久精品影视伊人网| 欧美日韩精品一区二区三区| 青青草手机在线观看| av网站中文字幕| 亚洲乱码国产乱码精品精天堂| 无遮挡爽大片在线观看视频| 国产香蕉精品视频一区二区三区| 国产一区二区三区视频免费| 视频一区二区欧美| 台湾成人av| 亚洲一区二区三区乱码| 白嫩情侣偷拍呻吟刺激| xxx成人少妇69| 欧美一区二区播放| 91嫩草国产在线观看| 日韩黄色成人| av综合在线播放| 国产精品久久久久久久久久ktv| 亚洲国产日韩精品| 国产精品444| www.99av.com| 一道在线中文一区二区三区| 欧美图片一区二区三区| 亚洲精品国产电影| 亚洲成人不卡| 久久久夜色精品| 国产又粗又长又大的视频| 色又黄又爽网站www久久| www.av88| 国产中文字幕一区二区| 成年美女黄网站色大片不卡| 一女被多男玩喷潮视频| 欧美综合在线第二页| 亚洲成人在线网| 成人国产精品免费| 亚州精品永久观看视频| www.色综合.com| 中文字幕在线免费视频| 精品久久久免费视频| 亚洲视频网站在线| 丝袜脚交一区二区| 午夜亚洲一区| 中出视频在线观看| 亚洲校园欧美国产另类| 国产伦精品一区二区三区免| 日本黄色一区二区| 成人免费在线电影| 日韩欧美一区二区三区视频| 99r精品视频| 国产精品综合激情| 91天堂素人约啪| 欧美电影《轻佻寡妇》| а√最新版天堂中文在线| 亚洲高清不卡在线观看| 蜜桃tv在线播放| 免费男女羞羞的视频网站在线观看| 欧美乱大交xxxxx免费| 欧美挠脚心视频网站| 成人资源视频网站免费| 中文国产字幕在线观看| 最新日本在线观看| 中文字幕超清在线免费观看| 欧美日韩国产中字| 日本一区二区三区四区在线视频| 国产福利一区二区三区在线播放| 日本一区二区三区视频在线看| 午夜一级黄色片| aa级大片欧美| 水蜜桃精品av一区二区| 小香蕉视频在线| 欧美精品一区二区三区蜜臀| 国产稀缺精品盗摄盗拍| 中国女人内谢69xxxx视频| 免费一级黄色大片| 丰满少妇久久久| 久久伊人一区二区| 99视频精品全国免费| 五月天丁香激情| 强迫凌虐淫辱の牝奴在线观看| 性欧美xxxx| 欧美日韩国产另类一区| 91午夜在线观看| 加勒比久久综合| 538视频在线| 日本三日本三级少妇三级66| 久久精品视频观看| 97超级碰碰碰久久久| 蜜臀一区二区三区精品免费视频| 亚洲va在线va天堂| 日韩资源在线| 制服丝袜成人动漫| 99视频精品免费| 这里只有精品免费视频| 亚洲欧美视频| 亚洲精品免费在线| 国产成人在线视频播放| 萌白酱国产一区二区| 日本精品久久| 91福利在线免费观看| 日本三级免费观看| 欧美性生交大片免网| 波多野结衣乳巨码无在线观看| 精品在线小视频| 香蕉久久精品| 性欧美xxxx免费岛国不卡电影| 黄色av电影网站| 欧美亚洲综合久久| 亚洲欧洲精品一区二区三区不卡| 久久爱一区二区| 久久精品国产久精国产爱| 成人啪啪18免费游戏链接| 男女高潮又爽又黄又无遮挡| 粉嫩小泬无遮挡久久久久久| 一区二区三区四区高清视频| 忘忧草精品久久久久久久高清| 丁香激情综合五月| 国产伦精品一区二区三区四区免费| 亚洲精品欧美一区二区三区| 国产日韩在线一区| 精品成人一区二区三区| 人妻丰满熟妇av无码区app| 免费观看日批视频| 老司机深夜福利在线观看| 国内自拍视频在线看免费观看| 免费久久网站| 国产亚洲综合视频| 亚洲精品日日夜夜| 亚洲va欧美va人人爽午夜| 菠萝蜜视频在线观看www入口| 成人羞羞视频在线看网址| 午夜伦全在线观看| 免费人成在线观看网站| 夜级特黄日本大片_在线| 中文字幕成人在线观看| 一色桃子一区二区| 日韩精品福利网| 免费亚洲网站| www.超碰在线.com| 中文字幕一区二区三区精品| 蜜桃视频一日韩欧美专区| 91成人在线观看喷潮| 中文字幕剧情在线观看一区| 亚洲五月婷婷| 日韩中文一区二区| 亚洲成人在线免费| 免费久久99精品国产自| 国产乱视频在线观看| 色999国产精品| 国产日韩高清一区二区三区在线| 精品美女在线播放| 日批视频网站| 中文字幕第28页| 视频一区二区三区四区五区| 91亚洲精华国产精华| 一二三区视频在线观看| 91免费看片在线观看| av中文资源在线| 亚洲丝袜自拍清纯另类| 久久中文字幕在线视频| 国产精品二区一区二区aⅴ| 激情图片qvod| bt电影在线| 黄色片网站免费| 香蕉视频污视频| 久久综合久久美利坚合众国| 免费污网站在线观看| 久久99久久99精品免费看小说| 你懂的免费在线观看| 欧美中文在线字幕| 精品美女一区二区三区| 国产亚洲一区二区三区在线观看| 四虎国产精品成人永久免费影视| 大乳在线免费观看| 久久er99热精品一区二区| 国产精品自拍偷拍| 91精品久久久久久综合五月天| 国产精品麻豆va在线播放| 男女视频在线观看| 99热播精品免费| 性生活免费观看视频| 日本天堂在线观看| 日韩高清在线电影| 一区二区成人在线| 嗯~啊~轻一点视频日本在线观看| 国产婷婷色一区二区在线观看| 国产精品美女久久久久aⅴ| 成人情视频高清免费观看电影| 亚洲一级二级在线| av大片在线免费观看| 国产91亚洲精品一区二区三区| 伊人国产在线看一| 亚洲成人黄色影院| 亚洲成人黄色在线观看| 日韩专区一卡二卡| 成人动漫在线免费观看| 高清国产一区二区三区| 亚洲国产免费| 好吊日在线视频| 日韩国产亚洲欧美| 亚洲欧美精品在线观看| 国产真人做爰视频免费| 亚洲熟妇无码另类久久久| 久久久国产精品午夜一区ai换脸| a日韩av网址| 人人澡人一摸人人添| 精品久久久三级| 日韩欧美精品免费在线| 欧美三级电影在线播放| 日本妇女一区| 国产精品免费看| 国产精品av一区二区三区| 凹凸国产熟女精品视频| 欧美一级一区二区| 免费毛片a线观看| 中文字幕一区2区3区| 久久99久久精品欧美| 日韩成人免费在线| 日本aaa在线观看| 久久婷婷国产综合精品青草| 久久美女艺术照精彩视频福利播放| 波多野结衣中文在线| 日韩午夜电影在线观看| 99久久精品国产精品久久| 久久久久久一区二区三区| 亚洲伦理中文字幕| 亚洲字幕av一区二区三区四区| 国产精品中出一区二区三区| yjizz视频| 国产欧美日本在线| 久久久久久穴| 性猛交xxxx乱大交孕妇印度| 日韩视频在线一区| 国产1区2区在线观看| 国产精品国产三级国产aⅴ中文| 黄色91视频| 91玉足脚交白嫩脚丫| 亚洲成人一区二区三区| 免费一级suv好看的国产网站| 欧美日韩在线视频一区| 蜜桃视频成人在线观看| 午夜免费福利网站| 国产网红主播福利一区二区| 一区二区三区四区国产精品| 国产精品18久久久久久久久久| 秋霞网一区二区| 国产成人亚洲综合无码| 91丨porny丨九色| 136福利视频导航| 欧美午夜在线播放| 在线亚洲欧美日韩| 免费wwwxxx| 91精品啪在线观看国产60岁| 永久亚洲成a人片777777| 亚洲午夜女主播在线直播| 一区二区三区久久精品| 欧美aaa大片视频一二区| 国产激情视频一区二区三区| 天天操夜夜操天天射| 日韩免费中文字幕| 亚洲欧美综合视频| 国产精品国产三级国产专业不| 日日夜夜免费精品| 国产午夜精品一区二区三区视频| 少妇精品久久久一区二区三区| 欧美亚洲日本| 男人天堂av片| 91嫩草亚洲精品| 亚洲人成在线网站| 深夜在线视频| 亚洲免费大片在线观看| ts人妖另类在线| 免费看污污视频| 亚洲一区二区三区午夜| 久久精品亚洲一区二区三区浴池| 亚洲成年人在线观看| 美女黄色一级视频| 久久99久久99精品蜜柚传媒| 免费极品av一视觉盛宴| 91成人福利在线| 久久香蕉国产线看观看av| 麻豆一区二区麻豆免费观看| 秋霞影院午夜丰满少妇在线视频| 国产精品视频白浆合集| 中文字幕亚洲一区二区三区五十路| 成人在线观看黄色| 三上悠亚在线观看视频| 波多野结衣家庭教师在线| 亚洲不卡免费视频| 人成网站免费观看| 亚洲乱码av中文一区二区| 国产精品高清一区二区| 任你弄在线视频免费观看| 性少妇xx生活| 92久久精品| 国产拍欧美日韩视频二区| 国产精品少妇在线视频| 欧美成人小视频| 欧美午夜精品一区二区三区| 久久亚洲精品伦理| 亚洲精品偷拍| 欧美精品成人一区二区在线观看| 久久99精品久久久久久久久久| 九色视频在线播放| 久久久一二三四| 性高潮免费视频| 国产精品久久久久久久无码| 国产男女爽爽爽| 欧美日韩一区二区三区视频| 91麻豆精品国产91久久久资源速度| 国产91精品捆绑调教| 欧美日韩成人免费| 天堂资源在线亚洲资源| 亚洲一区二区偷拍| 色琪琪免费视频网站| 污软件在线观看| 国产探花在线精品一区二区| 中文字幕在线中文| 品久久久久久久久久96高清| 一区二区三区在线|网站| 日韩免费高清| 成人影院午夜久久影院| 亚洲精品资源在线| 污污动漫在线观看| 国产又大又黄又粗的视频|