【问题标题】:Proxmox LXC container can't write to mount, how do I properly map the UID and GID?Proxmox LXC 容器无法写入挂载,如何正确映射 UID 和 GID?
【发布时间】:2022-11-11 19:07:58
【问题描述】:

大家好,

几天以来,我一直在努力将用户 ID 从我的 PVE 主机正确映射到我的 LXC。

我的情况:

我正在运行Proxmox Virtual Environment 7.2-11

我确实想在非特权 LXC 中运行我的 Nextcloud 实例,并且我确实有一个单独的 HDD 来存储所有云数据。由于没有解决方案可以将驱动器传递到 LXC 容器,因此我需要创建一个从主机到 LXC 容器的挂载点,它工作得非常好。

当前状态

这是我用来创建挂载点的命令。

$ pct set 107 -mp0 /media/disk3t0,mp=/media/disk3t0

然后我在主机上和 LXC 内部创建了一个名为 Nextcloud 的额外用户。两者都获得了 UID 1000 和 GID 1000。然后我想将 LXC 内的 www-data 用户添加到组 nextcloud 以允许对挂载进行写访问。

在 PVE 主机上,我将挂载的所有者更改为新创建的 nextcloud 用户。

我正在尝试实现正确的 UID 和 GID 映射

我将以下内容添加到我的/etc/pve/lxc/107.conf

lxc.idmap: u 0 100000 1000
lxc.idmap: g 0 100000 1000
lxc.idmap: u 1000 1000 1
lxc.idmap: g 1000 1000 1
lxc.idmap: u 1001 101001 64535
lxc.idmap: g 1001 101001 64535

和以下/etc/subuid

nextcloud:1000:1

和以下/etc/subgid

nextcloud:1000:1

但是 LXC 不会启动,这是它给我的错误:

lxc-start 107 20221018170016.702 ERROR conf - ../src/lxc/conf.c:lxc_map_ids:3672 - newuidmap 无法写入映射“newuidmap: uid range [1000-1001) -> [1000-1001) not allowed”: newuidmap 16 46187 0 100000 1000 1000 1000 1 1001 101001 64535

lxc-start 107 20221018170016.702 错误启动 - ../src/lxc/start.c:lxc_spawn:1791 - 无法设置 id 映射。

lxc-start 107 20221018170016.702 错误启动 - ../src/lxc/start.c:__lxc_start:2074 - 无法生成容器“107”

lxc-start 107 20221018170017.906 错误 lxc_start - ../src/lxc/tools/lxc_start.c:main:306 - 容器无法启动

lxc-start 107 20221018170017.906 错误 lxc_start - ../src/lxc/tools/lxc_start.c:main:311 - 可以通过设置 --logfile 和 --logpriority 选项获得更多信息

现在我完全陷入困境,不知道下一步该尝试什么。

这些都是我在网上找到的所有博客和帖子,它们以某种方式解决了同样的问题:

【问题讨论】:

    标签: mapping nextcloud uid proxmox


    【解决方案1】:

    您是否尝试过将 root:1000:1 添加到以下文件中,如下所示:

    /etc/subgid:

    root:100000:65536
    
    # custom user group
    root:1000:1
    

    /etc/subuid:

    root:100000:65536
    
    # custom user
    root:1000:1
    

    来源:https://forum.proxmox.com/threads/newuidmap-uid-range-1100-1101-1100-1101-not-allowed.73414/post-417184

    【讨论】:

      最近更新 更多