Wie aktiviere ich SELinux in einem CentOS Docker-Container?

13

Ich versuche, SELinux in einem Docker-Container zu installieren, um eine Anwendung zu verteilen, die SELinux intern verwendet.

Auf dem Standard-CentOS-Image ist SELinux nicht installiert:

$ docker run -it centos:latest /bin/bash
[root@38ae5a98273d /]# sestatus
bash: sestatus: command not found

Nachdem ich es von yum installiert habe, ist SELinux noch nicht aktiviert.

[root@38ae5a98273d /]# yum install policycoreutils selinux-policy-targeted
...
[root@38ae5a98273d /]# sestatus
SELinux status:                 disabled

Die gesamte Dokumentation, die ich gefunden habe, besagt, dass Sie einen Systemneustart durchführen müssen, um ihn zu installieren. Mir ist jedoch keine Methode zur Simulation eines Systemneustarts in einem Docker-Container bekannt.

Wie wird SELinux in einem Container installiert und aktiviert?

sffc
quelle

Antworten:

23

SELinux hat keinen Namespace, daher können einzelne Container keine eigenen SELinux-Richtlinien haben. SELinux scheint in einem Container immer "deaktiviert" zu sein, obwohl es auf dem Host ausgeführt wird.

Wenn Ihre Anwendung SELinux erfordert, können Sie sie nicht in Docker verwenden. Sie müssen eine normale virtuelle Maschine verwenden.

Michael Hampton
quelle
3
tl; dr: containerisierung ist keine virtualisierung.
MadHatter