我正在按照所述步骤在 lxc 容器内安装主机驱动器这里。在那篇文章中,作者设定了原始idmap像这样:
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。如果您使用其他用户,则可以更改此值。此外,您需要重新启动容器以使更改生效。