最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

docker容器非root用戶提權(quán)的問(wèn)題解決

 更新時(shí)間:2022年04月21日 08:52:38   作者:字母哥哥  
本文主要介紹了docker容器非root用戶提權(quán)的問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本系列之前的文章中使用root用戶安裝docker,并在root用戶下啟動(dòng)docker守護(hù)進(jìn)程,容器也是在root用戶下啟動(dòng)運(yùn)行的。那么問(wèn)題就出現(xiàn)了:我們的容器服務(wù)進(jìn)程都是root用戶權(quán)限,使用數(shù)據(jù)卷的方式想掛載哪個(gè)目錄就掛載那個(gè)目錄;想修改掛載目錄下的哪個(gè)文件,就修改哪個(gè)文件。 那么我們本文帶大家使用非root用戶來(lái)啟動(dòng)docker容器,是否就安全了呢? 我們先不說(shuō)答案,讓我們一起來(lái)通過(guò)實(shí)驗(yàn),來(lái)解答我們的疑問(wèn)。

一、使用非root用戶啟動(dòng)docker容器

為了提升安全性,我們考慮一種方案:使用非root用戶啟動(dòng)docker容器。為此我們做一個(gè)實(shí)驗(yàn),首先我們創(chuàng)建一個(gè)普通用戶zimug,執(zhí)行命令 useradd zimug;。并且將這個(gè)用戶加入docker用戶組,因?yàn)閐ocker用戶組的用戶才能啟動(dòng)docker容器。

#zimug加入docker用戶組
usermod -G docker zimug;  
#在zimug用戶下啟動(dòng)容器
docker run -d --name nginx-zimug -p  80:80  nginx; 

以上的操作證明使用非root用戶啟動(dòng)docker容器是可行的,但是安全性有沒(méi)有得到提升,我們還需要驗(yàn)證。

二、驗(yàn)證非root用戶啟動(dòng)容器的安全性

回到docker服務(wù)所在的宿主機(jī)服務(wù)器上,使用 root 賬號(hào)將"zimug test"這樣一個(gè)字符串寫入測(cè)試文件 test.txt

mkdir -p /root/test;
echo "zimug test" > /root/test/test.txt;

然后使用su命令切換到zimug這個(gè)用戶,使用cat命令查看文件提示權(quán)限不夠無(wú)法查看文件,到此一切正常。

[root]# su - zimug;
[zimug]$ cat  /root/test/test.txt;
cat: /root/test/test.txt: 權(quán)限不夠

然后我們?cè)趜imug用戶下啟動(dòng)一個(gè)容器nginx-zimug1,需要記住非常重要的一點(diǎn)是:這個(gè)容器我們是在非root用戶zimug下啟動(dòng)的。

[zimug]$ docker run -d --name nginx-zimug1 \
 -p  81:80  \
 -v /root/test/test.txt:/root/test/test.txt nginx; 

然后我們進(jìn)入容器內(nèi)部修改/root/test/test.txt這個(gè)文件,向文件內(nèi)echo寫入一個(gè)字符串:“zimug test update file in container”,表示這個(gè)文件我們?cè)谌萜鲀?nèi)部進(jìn)行修改。

# 進(jìn)入容器內(nèi)部
[zimug]$ docker exec -it nginx-zimug1 /bin/bash
# 進(jìn)入容器后使用下面的命令修改文件,然后exit退出
echo "zimug test update file in container" > /root/test/test.txt;

回到宿主機(jī)上使用 root 賬號(hào)確認(rèn) /root/test/test.txt 文件內(nèi)容。發(fā)生了我們不愿見(jiàn)到的結(jié)果:普通用戶zimug啟動(dòng)一個(gè)容器,可以隨意映射root用戶文件,并且在容器內(nèi)修改這個(gè)文件,root用戶的文件內(nèi)容也隨之更改。

# cat /root/test/test.txt
zimug test update file in container

之所以出現(xiàn)這個(gè)問(wèn)題,有兩個(gè)原因:一是docker容器本質(zhì)是宿主機(jī)服務(wù)器上的一個(gè)進(jìn)程,不做特殊處理的情況下,容器里的root用戶和宿主機(jī)上的root用戶實(shí)際上是同一個(gè)用戶;二是docker存在一個(gè)守護(hù)進(jìn)程,即使用systemctl start docker啟動(dòng)的那個(gè)服務(wù)進(jìn)程。因?yàn)槲覀儼惭bdocker是root用戶安裝的,該守護(hù)進(jìn)程也是用root用戶啟動(dòng)的,即使容器是非root用戶運(yùn)行的也存在較大的安全問(wèn)題,是docker安全性問(wèn)題的重要風(fēng)險(xiǎn)點(diǎn)。
解決這個(gè)問(wèn)題有兩個(gè)通用方法:就是容器用戶與宿主機(jī)用戶的id段映射;二是使用非root用戶搭建docker并啟動(dòng)守護(hù)進(jìn)程。

到此這篇關(guān)于docker容器非root用戶提權(quán)的問(wèn)題解決的文章就介紹到這了,更多相關(guān)docker 非root用戶提權(quán)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • docker中安裝elasticsarch 等鏡像的過(guò)程

    docker中安裝elasticsarch 等鏡像的過(guò)程

    這篇文章主要介紹了docker中安裝elasticsarch 等鏡像,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-12-12
  • 如何使用Celery和Docker處理Django中的定期任務(wù)

    如何使用Celery和Docker處理Django中的定期任務(wù)

    這篇文章主要介紹了使用Celery和Docker處理Django中的定期任務(wù)的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 云原生使用Docker部署mysql數(shù)據(jù)庫(kù)的詳細(xì)過(guò)程

    云原生使用Docker部署mysql數(shù)據(jù)庫(kù)的詳細(xì)過(guò)程

    使用docker部署mysql,可以省去mysql的安裝配置過(guò)程,而且不限制數(shù)量,即起即用,下面這篇文章主要給大家介紹了關(guān)于云原生使用Docker部署mysql數(shù)據(jù)庫(kù)的詳細(xì)過(guò)程,需要的朋友可以參考下
    2023-03-03
  • 如何設(shè)置docker容器時(shí)區(qū)

    如何設(shè)置docker容器時(shí)區(qū)

    這篇文章主要介紹了如何設(shè)置docker容器時(shí)區(qū)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Linux新建用戶并允許docker及docker基本命令

    Linux新建用戶并允許docker及docker基本命令

    這篇文章給大家介紹了Linux新建用戶并允許docker及docker的容器創(chuàng)建及基本命令講解,需要的朋友參考下本文吧
    2017-12-12
  • docker容器資源配額控制詳解

    docker容器資源配額控制詳解

    本篇文章主要介紹了docker容器資源配額控制詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • docker容器日志占滿硬盤空間的問(wèn)題解決

    docker容器日志占滿硬盤空間的問(wèn)題解決

    由于默認(rèn)情況下,docker使用json-file類型的日志驅(qū)動(dòng),該日志驅(qū)動(dòng)默認(rèn)情況下,每個(gè)容器的日志會(huì)一直追加在文件名為 containerId-json.log文件中,因此在容器不重建的情況下,該日志文件會(huì)一直追加內(nèi)容,直到占滿整個(gè)服務(wù)器硬盤空間,本文就來(lái)介紹一下解決方法
    2023-09-09
  • Docker之蘋果Mac安裝Docker的兩種方式小結(jié)

    Docker之蘋果Mac安裝Docker的兩種方式小結(jié)

    這篇文章主要介紹了Docker之蘋果Mac安裝Docker的兩種方式小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • docker解析DNS失敗問(wèn)題

    docker解析DNS失敗問(wèn)題

    這篇文章主要介紹了docker解析DNS失敗問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • Docker部署Nuxt.js項(xiàng)目的實(shí)現(xiàn)

    Docker部署Nuxt.js項(xiàng)目的實(shí)現(xiàn)

    這篇文章主要介紹了Docker部署Nuxt.js項(xiàng)目的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02

最新評(píng)論

阿坝县| 鄂托克旗| 进贤县| 白山市| 濉溪县| 磐安县| 梨树县| 彰武县| 孟连| 印江| 贺兰县| 兴山县| 马山县| 衡东县| 通山县| 景宁| 海口市| 岳普湖县| 江永县| 墨竹工卡县| 昌邑市| 和林格尔县| 台州市| 定兴县| 横峰县| 河津市| 丽水市| 阿拉善右旗| 宁化县| 延庆县| 巴彦县| 阜康市| 潜江市| 忻州市| 玉树县| 治县。| 福泉市| 乳山市| 杭锦后旗| 谢通门县| 浦城县|