![Синтаксис для настройки LXD-контейнера raw.idmap](https://rvso.com/image/1520729/%D0%A1%D0%B8%D0%BD%D1%82%D0%B0%D0%BA%D1%81%D0%B8%D1%81%20%D0%B4%D0%BB%D1%8F%20%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8%20LXD-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%B0%20raw.idmap.png)
Я следую процедуре монтирования хост-диска внутри контейнера lxc, как описаноздесь. В этой статье автор устанавливаетraw.карта_идентификаторовтак:
lxc config set zesty raw.idmap 'both 1000 1000'
Я хочу настроить сопоставление для gid и uid, как описано вдокументация lxd idmap. Который показывает пример сопоставления, как это:
both 1000 1000
uid 50-60 500-510
gid 10000-110000 10000-20000
Я борюсь с синтаксисом для фактической настройки, так как команда в первой статье, похоже, не работает для многострочных конфигураций. Я пробовал вводить все в одну строку и с помощью JSON, но безуспешно, так как контейнер выдает ошибки конфигурации и не запускается.
Как правильно это настроить?
решение1
На этот вопрос был дан ответ вСписок рассылки пользователей LXC:
Как и idmap
в случае с blob, если вы хотите присвоить несколько значений, вам придется отправить несколько строк. Пример:
echo -en "both 1003 1003\nboth 1004 1004" | lxc config set mycontainer raw.idmap -
решение2
Другой способ автоматизации этого процесса описан здесь (https://ubuntu.com/blog/custom-user-mappings-in-lxd-containers):
printf "uid $(id -u) 1000\ngid $(id -g) 1000" | lxc config set your_container raw.idmap -
lxc restart your_container
Таким образом, он извлечет ваши текущие UID и GID и сопоставит их с UID 1000 и GID 1000 внутри контейнера. Вы можете изменить это значение, если используете другого пользователя. Кроме того, вам нужно перезапустить ваш контейнер, чтобы изменения вступили в силу.