Я пытаюсь настроить контейнер 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, используйте полную виртуальную машину.