Я новичок в SElinux, поэтому не знаю многого о том, как им пользоваться. Я хочу запустить свой Fedora Server с помощью общего ресурса samba (уже настроенного и работающего) и настроить контейнер podman, монтируя тот же каталог. Но пока SElinux включен, контейнер не может получить доступ к смонтированному каталогу. Отключение SElinux ( setenforce 0
) «решает» эту проблему.
Так что в настоящее время я попробовал использовать public_content_rw_t
этот каталог, но все еще не работает.
# first try
$ semanage fcontext -a -t samba_share_t "/srv/downloads(/.*)?"
$ restorecon -Rv /srv/downloads
# second try
$ semanage fcontext -m -t public_content_rw_t "/srv/downloads(/.*)?"
$ restorecon -Rv /srv/downloads
В обоих случаях контейнер podman не может получить доступ к одному и тому же каталогу. SElinux препятствует этому (логи: setroubleshoot[1232603]: SELinux is preventing java from write access on the directory /srv/downloads
). Например, используя: podman exec -it $CONTAINER ls -l /downloads
(смонтировано /srv/downloads:/downloads
с помощью rw).
Я хочу запустить свой сервер с SElinux. Что мне нужно настроить, чтобы оба процесса могли использовать один и тот же каталог?
решение1
Так как вы новичок в SELinux, есть больше инструментов, которые помогут вам разобраться, и я нашел их только на прошлой неделе. Отправной точкой являетсяздесь. В основном это audit.log с audit2why и audit2allow. Я устанавливаю force на 0, cp /dev/null поверх audit.log, запускаю неудачные команды (которые успешно выполняются в режиме Permissive, но все равно регистрируются в журнале аудита), затем сохраняю журнал и анализирую, как указано в ссылке выше. Я использовал этот процесс в течение последних нескольких дней, чтобы создать пользовательскую политику для API Flask/Apache, запускающих подпроцессы Python. Так что это не конкретный ответ, но этот процесс должен привести вас к решению, как и меня.
решение2
Мы решили эту проблему, включив setsebool -P virt_use_samba
флаг. Похоже, это позволяет виртуализированным экземплярам (..и контейнерам..) получить доступ к смонтированным дискам.
Старый вопрос, но я нашел ответ на него только в одном месте в Интернете, и было бы неплохо распространить его, возможно, он решит больше проблем.