Как запустить podman, когда нет домашнего каталога?
Мы используем SELinux в RHEL 8, который в нашей компании не позволяет создавать домашние каталоги для пользователей.
Некоторые контейнеры запускаются пользователем root (у которого есть домашний каталог). Но у всех интерактивных пользователей, таких как я, нет домашнего каталога (по соображениям безопасности).
Поэтому всякий раз, когда я запускаю podman
команды, он не работает с cannot write to /home/<user>
Как я могу использовать podman, если нет возможности домашнего каталога? Кажется большим недостатком podman, чтобы обеспечить соблюдение этого требования. Если, конечно, кто-нибудь не скажет мне, какие изменения мне нужно внести?
ура!
2 ответа
Я не уверен, что Podman потребует от пользователя наличия домашнего каталога, но это может быть связано с тем фактом, что локальный репозиторий Podman находится в / var / lib / контейнерах, и если у пользователей нет $HOME, то, возможно, вы также не У меня есть доступ на запись в / var / lib / container. И поэтому я догадываюсь, что эта цитата из блога Дэна Уолша на Podman указывает на то, что по умолчанию используется домашний каталог...
Podman использует репозиторий в домашнем каталоге пользователя: ~/.local/share/container. Это позволяет избежать создания / var / lib / container с возможностью записи во всем мире или других действий, которые могут привести к потенциальным проблемам безопасности.
Ознакомьтесь со статьей DW, она много объясняет Podman и Buildah с точки зрения selinux.
Согласно документации Podman :
В режиме без корневого доступа файлы конфигурации считываются из XDG_CONFIG_HOME, если указано, в противном случае — из домашнего каталога пользователя в $HOME/.config/containers.
и
В режиме без корней изображения загружаются в XDG_DATA_HOME, если указано, в противном случае — в домашнем каталоге пользователя в $HOME/.local/share/containers/storage.
Итак, вы можете сделать что-то вроде этого:
env XDG_CONFIG_HOME=<config-dir> XDG_DATA_HOME=<data-dir> podman run <container>
Я предполагаю, что использование переменных окружения XDG здесь не совсем точное, но я успешно использовал это для запуска контейнеров Podman в качестве бездомного пользователя в CentOS.