SELinux

Support HackTricks

容器中的SELinux

来自redhat文档的介绍和示例

SELinux 是一个标签 系统。每个进程和每个文件系统对象都有一个标签。SELinux策略定义了关于进程标签可以对系统上所有其他标签执行的操作的规则。

容器引擎以单个受限的SELinux标签启动容器进程,通常为container_t,然后将容器内部的容器设置为标签container_file_t。SELinux策略规则基本上表示**container_t进程只能读/写/执行标记为container_file_t的文件**。如果容器进程逃离容器并尝试写入主机上的内容,Linux内核将拒绝访问,并仅允许容器进程写入标记为container_file_t的内容。

$ podman run -d fedora sleep 100
d4194babf6b877c7100e79de92cd6717166f7302113018686cea650ea40bd7cb
$ podman top -l label
LABEL
system_u:system_r:container_t:s0:c647,c780

SELinux 用户

除了常规的 Linux 用户,还有 SELinux 用户。SELinux 用户是 SELinux 策略的一部分。每个 Linux 用户都被映射到一个 SELinux 用户,作为策略的一部分。这允许 Linux 用户继承施加在 SELinux 用户上的限制和安全规则及机制。

Support HackTricks

Last updated