Назад | Перейти на главную страницу

Включение SELinux в контейнере Centos7 LXC с хостом Ubuntu 14.04

Я пытаюсь настроить контейнер LXC для тестирования, на котором работает CentOS 7 с включенным SELinux, чтобы удовлетворить требованиям для теста, который я пытаюсь запустить.

Несмотря на все мои усилия, я все еще не могу заставить вывод getenforce возвращать что-либо, кроме «Disabled».

Изначально контейнер был создан с помощью следующей команды lxc:

sudo lxc-create -n <name> -t download -- -d centos -r 7 -a amd64

Я установил конфигурационный файл контейнера для использования fedora.common.conf для решения проблем с медленным запуском и выполнил некоторые другие части начальной загрузки, но я не думаю, что это могло бы повлиять на SELinux.

Я пробовал / проверял следующее, чтобы попытаться включить его (и, возможно, еще кое-что, что я забыл!)

Я еще не зашел так далеко, чтобы включить SELinux на хосте, поскольку я почти уверен, что видел контейнеры докеров, работающие под CentOS7, которые могут запускать его без необходимости установки или запуска SELinux на хосте.

Я погуглил все, что мог придумать, и поискал здесь, и не могу найти никаких других предложений относительно того, почему я не могу заставить SELinux включить внутри этого контейнера LXC, может ли кто-нибудь помочь?

Я почти готов отказаться и создать хост CentOS7 для запуска моих контейнеров CentOS7, но я очень надеюсь, что в этом нет необходимости.

Selinux должен работать на вашем физическом хосте, потому что Selinux работает на стороне ядра, и ваш контейнер разделяет ядро ​​с физическим хостом.

Контейнер - это нормальный процесс, который выполняется в других namespace

SELinux не имеет пространства имен, поэтому отдельные контейнеры не могут иметь свои собственные отдельные политики SELinux. SELinux всегда будет казаться «отключенным» в контейнере, хотя он запущен на хосте.

Для получения дополнительной информации см. Введение в контейнеры Linux.

Если вы тестируете политики SELinux, используйте полную виртуальную машину.