Podman权限问题导致的403报错思路与解决

文章讲述了在使用Podman运行容器时遇到403错误,经排查发现是SELinux阻止了容器对宿主机文件的访问。解决方法是在卷映射中添加`:Z`标签,让Podman改变宿主机文件的安全上下文。--privileged选项可以绕过这个问题,但推荐理解根本原因并正确配置SELinux。

问题

podman运行镜像,端口映射、卷映射无误,但在运行访问测试容器内http接口报错403.

查阅系统日志,存在多处容器相关的selinux访问被拒绝错误,sealert提示需要为几个进程的对象添加临时规则。

考虑是否为selinux问题,禁用se后解决,启用se后复现。

容器运行时增加--pivileged选项也可正常运行无报错。

分析

根据podman手册解释,在进行卷映射时,podman默认不更改宿主机的卷及文件的安全上下文标签,从而将导致容器访问宿主机文件时被se拦截报错。

解决

-v 路径后增加:Z 标签,手动指定podman更改宿主机的卷及文件的安全上下文标签

podman run -v host-dir:container-dir:Z 

参考链接

 

Labeling systems like SELinux require that proper labels are placed on volume content mounted into a container. Without a label, the security system might prevent the processes running inside the container from using the content. By default, Podman does not change the labels set by the OS.

To change a label in the container context, add either of two suffixes :z or :Z to the volume mount. These suffixes tell Podman t

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值