无根用户管理podman

本文详细介绍了如何让无根用户在Linux环境下安全地管理Podman,包括安装slirp4netns和fuse-overlayfs,配置subuid和subgid,启动非特权ping,以及配置用户文件如container.conf和storage.conf。同时,文章还讨论了无根用户的容器网络和卷管理,强调了用户间的隔离和端口映射的限制。
摘要由CSDN通过智能技术生成

无根用户管理podman

在允许没有root特权的用户运行Podman之前,管理员必须安装或构建Podman并完成以下配置

cgroup V2Linux内核功能允许用户限制普通用户容器可以使用的资源,如果使用cgroupV2启用了运行Podman的Linux发行版,则可能需要更改默认的OCI运行时。某些较旧的版本runc不适用于cgroupV2,必须切换到备用OCI运行时crun。

[root@wjh ~]# vim /usr/share/containers/containers.conf
runtime = "crun"                 //取消注释并将runc改为crun

[root@wjh ~]# podman run -d --name web -p 80:80 docker.io/library/nginx
ea419d52934a8c10f6fef4780f2014ec53de4aab691850373b8eda352ae42ef1

[root@wjh ~]# podman inspect web | grep crun
          "OCIRuntime": "crun",

安装slirp4netns和fuse-overlayfs

在普通用户环境中使用Podman时,建议使用fuse-overlayfs而不是VFS文件系统,至少需要版本0.7.6。现在新版本默认就是了。

[root@wjh ~]# dnf -y install slirp4netns fuse-overlayfs		//默认已安装
[root@wjh ~]# vim /etc/containers/storage.conf 
mount_program = "/usr/bin/fuse-overlayfs"		//取消注释

subuid和 subgid配置

Podman要求运行它的用户在/ etc / subuid和/ etc / subgid文件中列出一系列UID,shadow-utils或newuid包提供这些文件

  • /etc/subuid文件格式是:USERNAME:UID:RANGE
    • 映射到podman用户名
    • 为用户分配的初始 UID
    • 为用户分配的 UID 范围的大小
[root@wjh ~]# useradd wjh
useradd: user 'wjh' already exists
[root@wjh ~]# cat /etc/subuid
wjh:100000:65536

启动非特权ping

并不是有了subuid和subgid容器就可以被无根用户使用了,还需要启动非特权ping

[root@wjh ~]# sysctl -w "net.ipv4.ping_group_range=0 200000"
net.ipv4.ping_group_range = 0 200000     *//0 200000就是从100000开始,到200000区间内的用户都可使用podman* 

用户配置文件

三个主要的配置文件是container.conf、storage.conf和registries.conf。用户可以根据需要修改这些文件。

container.conf文件

容器配置文件
优先级(从上到下,由高到低)
$HOME/.config/containers/containers.conf 	//优先级最高
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值