Proxmox LXC容器无法写入挂载目录,如何正确映射UID与GID?
我已经为将PVE主机的用户ID正确映射到LXC容器折腾了好几天,焦头烂额。
我的情况
运行版本:Proxmox Virtual Environment 7.2-11
目标:在非特权LXC容器中运行Nextcloud实例,使用一块独立硬盘存储云数据。因无法直接直通硬盘,已成功创建主机到LXC容器的挂载点。
当前状态
- 使用命令创建挂载点:
$ pct set 107 -mp0 /media/disk3t0,mp=/media/disk3t0 - 主机和LXC容器内均创建了
nextcloud用户,两者UID、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-start 107 20221018170016.702 ERROR conf - ../src/lxc/conf.c:lxc_map_ids:3672 - newuidmap failed to write mapping "newuidmap: uid range [1000-1001) -> [1000-1001) not allowed": newuidmap 1646187 0 100000 1000 1000 1000 1 1001 101001 64535
lxc-start 107 20221018170016.702 ERROR start - ../src/lxc/start.c:lxc_spawn:1791 - Failed to set up id mapping.
lxc-start 107 20221018170016.702 ERROR start - ../src/lxc/start.c:__lxc_start:2074 - Failed to spawn container "107"
lxc-start 107 20221018170017.906 ERROR lxc_start - ../src/lxc/tools/lxc_start.c:main:306 - The container failed to start
lxc-start 107 20221018170017.906 ERROR lxc_start - ../src/lxc/tools/lxc_start.c:main:311 - Additional information can be obtained by setting the --logfile and --logpriority options
现在完全陷入困境,不知道下一步该尝试什么。
内容的提问来源于stack exchange,提问作者Kontr0x

