非root运行docker容器

一、非root运行docker容器

1、自己的容器,可以在dockerfile中处理一下

FROM ubuntu:24.04
COPY ./myapp  /myapp

RUN groupadd --gid 5000 newuser \
    && useradd --home-dir /home/newuser --create-home --uid 5000 \
        --gid 5000 --shell /bin/sh --skel /dev/null newuser
USER newuser
CMD  /myapp

2、第三方镜像,Kubernetes中Pod安全上下文和Pod安全策略,可以帮助我们以非root身份运行三方镜像。

3、使用Kubernetes Pod安全策略,可以阻止root启动的容器运行

参考:如何以非root用户运行Docker容器_用非root账号登录pod-CSDN博客

 二、如何用非root用户启动dockerd?

dockerd由于使用了linux domain socket,需要root用户启动,如何用非root用户启动呢?

方法1、sudo

方法2、创建docker用户和用户组,具体是什么原理呢???

参考:docker基础:使用非root用户操作docker_docker 不用root-CSDN博客

 三、如何用非root用户运行tcpdump,ping?

方法1、setuid,setgid

方法2、setcap,getcap

参考:谁说抓包必须用root权限-CSDN博客

ping,tcpdump这个程序,我们可以通过chmod允许普通用户执行,但它访问网卡某些系统调用时,内核要求必须是root用户

ping一般大家以普通用户使用发现没有什么问题,因为操作系统默认给他加了权限。

有的操作系统用的是setuid的方法,可以 ll /bin/ping看一下权限位中有没有s权限

有的操作系统用的是setcap方法,可以用getcap /bin/ping看一下

$ getcap /bin/ping
/bin/ping = cap_net_raw+ep

通过setcap可以设置权限,比如

gaofeng@ubuntu:~/c_code$ ./hello3
main is running
create iSocket error, check root          //没有rawsocket权限

sudo setcap cap_net_admin,cap_net_raw=eip hello3

或 sudo setcap cap_net_raw+eip hello3

也可以用 setcap -r hello3 移除权限设置

相关推荐

  1. root运行docker容器

    2024-01-29 08:30:06       41 阅读
  2. 记录 | root用户使用docker的方法

    2024-01-29 08:30:06       25 阅读
  3. 【工具类】 sudo 运行 docker

    2024-01-29 08:30:06       33 阅读
  4. (二)linux使用docker容器运行mysql

    2024-01-29 08:30:06       47 阅读
  5. docker容器 怎么查看运行日志

    2024-01-29 08:30:06       9 阅读
  6. docker运行mysql容器

    2024-01-29 08:30:06       8 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-29 08:30:06       17 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-29 08:30:06       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-29 08:30:06       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-29 08:30:06       18 阅读

热门阅读

  1. go标准库Context上下文

    2024-01-29 08:30:06       30 阅读
  2. web架构师编辑器内容-添加自动保存的功能

    2024-01-29 08:30:06       37 阅读
  3. 获取本机请求时真实ip

    2024-01-29 08:30:06       27 阅读
  4. Qt 分段Bezier曲线插值(2D)

    2024-01-29 08:30:06       45 阅读
  5. OpenCV 3 - Mat对象介绍

    2024-01-29 08:30:06       31 阅读
  6. RBE306TC Computer Vision Systems

    2024-01-29 08:30:06       29 阅读
  7. 知识搜索术学习笔记

    2024-01-29 08:30:06       26 阅读