Ubuntu LXD/LXC gid映射

Ubuntu LXD/LXC gid映射,ubuntu,lxc,lxd,Ubuntu,Lxc,Lxd,我在磁盘上有一个目录,属于share,gid为1001。我想将该目录作为一个设备添加到一个lxc容器中,并将该组保留下来 我尝试过使用raw.idmap'gid 1001 1001',但是如果添加此选项,lxc容器将无法启动 谢谢您用该行告诉我们的是将id为1001的主机用户映射到id为1001的容器用户,这意味着您应该确保容器中有id为1001的用户,或者将其映射到其他用户(容器的第一个用户通常具有id 1000).映射工作需要三个部分 raw.idmap集(您已经完成) 容器具有要映射到的现

我在磁盘上有一个目录,属于
share
,gid为
1001
。我想将该目录作为一个设备添加到一个lxc容器中,并将该组保留下来

我尝试过使用
raw.idmap'gid 1001 1001'
,但是如果添加此选项,lxc容器将无法启动


谢谢

您用该行告诉我们的是将id为1001的主机用户映射到id为1001的容器用户,这意味着您应该确保容器中有id为1001的用户,或者将其映射到其他用户(容器的第一个用户通常具有id 1000).

映射工作需要三个部分

  • raw.idmap集(您已经完成)
  • 容器具有要映射到的现有gid
  • 阴影文件允许id映射
  • 您正在尝试将主机gid 1001(
    share
    )映射到容器gid。在本例中,您选择了容器gid也为1001

    您已经完成了上面的#1,您已经设置了映射。

    完成#2只需要在容器中创建一个gid为1001的组。理论上,这实际上可能是新组的任何gid,您只需修改raw.idmap命令即可将目标gid设置为与容器中定义的gid匹配。

    对于上面的#3,您需要检查
    /etc/subgid
    ,以确保允许您将主机gid 1001映射到容器gid 1001
    当您查看
    /etc/subgid
    时,您应该会看到一些类似于以下内容的行,尽管每行的第一个数字可能不同:

    lxd:100000:65536
    root:100000:65536
    
    这是默认配置,表示lxd可以使用范围从100000开始的GID,这会生成相对于主机GID的隐藏偏移量为100000的容器(或行中的第一个数字)。如果从容器内在装入的目录中创建文件,则从主机可见的gid将是该偏移量+容器gid。
    要允许lxd使用gid 1001,从而允许它将主机gid 1001映射到容器gid 1001(或任何容器gid),您需要向
    /etc/subgid
    文件添加权限。您可以通过在文件末尾添加这样的行来完成此操作:

    lxd:1001:1
    root:1001:1
    
    如果您希望主机在使用raw.idmap选项时允许lxd映射多个不同的GID,则可以将它们指定为“

    在文件的其他行中列出非连续范围。

    确保在需要添加新行时始终同时添加lxd和根行,因为lxd文档说明,在大多数情况下,它们必须保持同步。

    此问题的raw.idmap部分的方法在此处更为具体
    lxd:start-id-to-expose:count-of-ids-to-expose
    root:start-id-to-expose:count-of-ids-to-expose