Разрешить Samba и Podman читать в одном каталоге

Разрешить Samba и Podman читать в одном каталоге

Я новичок в 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флаг. Похоже, это позволяет виртуализированным экземплярам (..и контейнерам..) получить доступ к смонтированным дискам.

Старый вопрос, но я нашел ответ на него только в одном месте в Интернете, и было бы неплохо распространить его, возможно, он решит больше проблем.

Связанный контент