iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >docker容器非root用户提权的问题怎么解决
  • 401
分享到

docker容器非root用户提权的问题怎么解决

2023-06-30 07:06:33 401人浏览 泡泡鱼
摘要

这篇文章主要介绍“Docker容器非root用户提权的问题怎么解决”,在日常操作中,相信很多人在docker容器非root用户提权的问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”docker容器非

这篇文章主要介绍“Docker容器非root用户提权的问题怎么解决”,在日常操作中,相信很多人在docker容器非root用户提权的问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”docker容器非root用户提权的问题怎么解决”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

一、使用非root用户启动docker容器

为了提升安全性,我们考虑一种方案:使用非root用户启动docker容器。为此我们做一个实验,首先我们创建一个普通用户zimug,执行命令 useradd zimug;。并且将这个用户加入docker用户组,因为docker用户组的用户才能启动docker容器。

#zimug加入docker用户组usermod -G docker zimug;  #在zimug用户下启动容器docker run -d --name Nginx-zimug -p  80:80  nginx;

以上的操作证明使用非root用户启动docker容器是可行的,但是安全性有没有得到提升,我们还需要验证。

二、验证非root用户启动容器的安全性

回到docker服务所在的宿主机服务器上,使用 root 账号将"zimug test"这样一个字符串写入测试文件 test.txt

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

然后使用su命令切换到zimug这个用户,使用cat命令查看文件提示权限不够无法查看文件,到此一切正常。

[root]# su - zimug;[zimug]$ cat  /root/test/test.txt;cat: /root/test/test.txt: 权限不够

然后我们在zimug用户下启动一个容器nginx-zimug1,需要记住非常重要的一点是:这个容器我们是在非root用户zimug下启动的。

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

然后我们进入容器内部修改/root/test/test.txt这个文件,向文件内echo写入一个字符串:“zimug test update file in container”,表示这个文件我们在容器内部进行修改。

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

回到宿主机上使用 root 账号确认 /root/test/test.txt 文件内容。发生了我们不愿见到的结果:普通用户zimug启动一个容器,可以随意映射root用户文件,并且在容器内修改这个文件,root用户的文件内容也随之更改。

# cat /root/test/test.txtzimug test update file in container

之所以出现这个问题,有两个原因:一是docker容器本质是宿主机服务器上的一个进程,不做特殊处理的情况下,容器里的root用户和宿主机上的root用户实际上是同一个用户;二是docker存在一个守护进程,即使用systemctl start docker启动的那个服务进程。因为我们安装docker是root用户安装的,该守护进程也是用root用户启动的,即使容器是非root用户运行的也存在较大的安全问题,是docker安全性问题的重要风险点。
解决这个问题有两个通用方法:就是容器用户与宿主机用户的id段映射;二是使用非root用户搭建docker并启动守护进程。

到此,关于“docker容器非root用户提权的问题怎么解决”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: docker容器非root用户提权的问题怎么解决

本文链接: https://www.lsjlt.com/news/327693.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • docker容器非root用户提权的问题解决
    目录一、使用非root用户启动docker容器二、验证非root用户启动容器的安全性本系列之前的文章中使用root用户安装docker,并在root用户下启动docker守护进程,容...
    99+
    2024-04-02
  • docker容器非root用户提权的问题怎么解决
    这篇文章主要介绍“docker容器非root用户提权的问题怎么解决”,在日常操作中,相信很多人在docker容器非root用户提权的问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”docker容器非...
    99+
    2023-06-30
  • 使用非root用户安装及启动docker的问题(rootless模式运行)
    目录一、容器用户与宿主机用户映射二、在非root用户下运行docker守护进程2.1.docker版本要求2.2. 前置条件2.3.开始rootless模式安装2.4.启动守护进程运...
    99+
    2024-04-02
  • linux怎么给普通用户提供root用户的权限
    本篇内容主要讲解“linux怎么给普通用户提供root用户的权限”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux怎么给普通用户提供root用户的权限”吧!sudo 的特点限制用户执行指定...
    99+
    2023-06-05
  • 解决docker容器无法访问的问题
    服务器上的docker容器都无法访问了,而且裸机部署的应用则没有任务问题。 docker容器重启多次均无法访问!!! docker服务重启也无济于事!!! 服务器网卡重启也不行!!! 网上搜了一堆方法...
    99+
    2023-09-14
    docker 服务器 运维
  • docker容器中安装vim问题怎么解决
    这篇文章主要介绍“docker容器中安装vim问题怎么解决”,在日常操作中,相信很多人在docker容器中安装vim问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”docker容器中安装vim问题怎...
    99+
    2023-06-20
  • 解决使用Docker Compose管理容器的问题
    在Docker的设计中,一个容器只运行一个应用。但是目前的绝大多数应用系统都不是一个应用就可以组成的。虽然之前提到了容器间互相连接、交换数据的方法,使用这些方法也确实能搭建起一个完整...
    99+
    2024-04-02
  • docker容器时区错误问题该怎么解决
    docker容器时区错误问题该怎么解决,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。背景利用node-schedule定时任务库写了一个自动定时发邮件的脚本,每天上午7点发送邮...
    99+
    2023-06-25
  • Docker容器导出为镜像问题怎么解决
    今天小编给大家分享一下Docker容器导出为镜像问题怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Docker容器导...
    99+
    2023-07-05
  • ahooks怎么解决用户多次提交问题
    这篇文章主要介绍“ahooks怎么解决用户多次提交问题”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“ahooks怎么解决用户多次提交问题”文章能帮助大家解决问题。场景试想一下,有这么一个场景,有一个...
    99+
    2023-07-02
  • Docker API未授权访问漏洞问题怎么解决
    本篇内容主要讲解“Docker API未授权访问漏洞问题怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Docker API未授权访问漏洞问题怎么解决”吧!因为dock...
    99+
    2023-07-05
  • Docker中容器的创建与启停问题怎么解决
    今天小编给大家分享一下Docker中容器的创建与启停问题怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1. 镜像和容...
    99+
    2023-07-01
  • 怎么解决Docker run容器处于created状态问题
    小编给大家分享一下怎么解决Docker run容器处于created状态问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在最近遇到的一次问题中,有这样一种现象:...
    99+
    2023-06-14
  • 解决Docker容器下不能使用vim命令的问题
    在使用docker容器时,有时候里边没有安装vim,敲vim命令时提示说:vim: command not found,如图所示: 这时候就需要安装vim。 可是当你敲apt-ge...
    99+
    2024-04-02
  • Navicat配置mysql数据库用户权限问题怎么解决
    本篇内容介绍了“Navicat配置mysql数据库用户权限问题怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!用数据库的时候就会遇到有...
    99+
    2023-07-05
  • win10限制本地账户使用权限问题怎么解决
    要解决Windows 10中本地账户的权限限制问题,可以尝试以下方法:1. 使用管理员账户登录:确保您使用具有管理员权限的账户登录。...
    99+
    2023-09-20
    win10
  • 如何解决重置Mysql root用户账号密码的问题
    这篇文章主要介绍如何解决重置Mysql root用户账号密码的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!问题描述:使用mysqladmin.exe执行命令时出现以下错误提示:...
    99+
    2024-04-02
  • 怎么隔离docker容器中的用户
    这篇文章主要介绍“怎么隔离docker容器中的用户”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么隔离docker容器中的用户”文章能帮助大家解决问题。了解 li...
    99+
    2024-04-02
  • mysql中root用户无法授权及解决navicat远程授权提示1044的示例分析
    这篇文章主要为大家展示了“mysql中root用户无法授权及解决navicat远程授权提示1044的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mys...
    99+
    2024-04-02
  • Windows Service 2019使用Docker的问题怎么解决
    这篇文章主要介绍“Windows Service 2019使用Docker的问题怎么解决”,在日常操作中,相信很多人在Windows Service 2019使用Docker的问题怎么解决问题上存在疑...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作