Rootless Podman внутри Proxmox LXC: проблема UID/GID mapping

При запуске File Browser через rootless Podman образ скачивался, но распаковка завершалась ошибкой:

potentially insufficient UIDs or GIDs available in user namespace (requested 65534:65534)
lchown /home: invalid argument

Причина: пользователю podman выделено только 50 000 subordinate UID/GID. Образ содержит файлы с UID/GID 65534, которые не помещаются в доступный диапазон.

Механизм

Используются два уровня отображения идентификаторов:
Podman: UID/GID образа → UID/GID внутри Debian LXC.
LXC: UID/GID Debian → UID/GID хоста Proxmox.

Настройки Podman определяются файлами /etc/subuid и /etc/subgid. Внешний mapping LXC задаётся через lxc.idmap.

Исходная конфигурация Proxmox:

root:100000:65536
deploy:165536:65536

Непривилегированному LXC доступны 65 536 идентификаторов. Расширить диапазон непрерывно нельзя: следующие идентификаторы уже выделены пользователю deploy.

Решение:

Выделить свободный диапазон на Proxmox и добавить его в /etc/subuid и /etc/subgid хоста:

root:231072:15536

В конфигурации LXC сохранить исходное отображение и добавить новое:

lxc.idmap: u 0 100000 65536
lxc.idmap: g 0 100000 65536
lxc.idmap: u 65536 231072 15536
lxc.idmap: g 65536 231072 15536

Внутри LXC контейнера дополнить существующий диапазон пользователя podman:

podman:10000:50000
podman:65536:15536

Настроить аналогично UID и GID, предварительно проверив отсутствие пересечений с другими диапазонами. После остановки приложений перезапустить LXC и выполнить:

podman system migrate

Изменение mapping не переносит владельцев существующих файлов автоматически.

Поделиться
Отправить