![在 Proxmox 中为 Nextcloud 绑定安装外部驱动器](https://linux22.com/image/784840/%E5%9C%A8%20Proxmox%20%E4%B8%AD%E4%B8%BA%20Nextcloud%20%E7%BB%91%E5%AE%9A%E5%AE%89%E8%A3%85%E5%A4%96%E9%83%A8%E9%A9%B1%E5%8A%A8%E5%99%A8.png)
我有一个带有 Nextcloud 的 Proxmox LXC 容器。Nextcloud 中的默认数据目录要求所有者是www-数据默认的 uid 和 gid 为33我正在使用以下
普罗克斯莫克斯
挂载点:/mnt/sdc
驱动器路径:/dev/mapper/sdc
用户名: 33
性别: 男
文件系统:ZFS
驱动器 FS:LUKS/exfat
Nextcloud LXC
数据目录:/mnt/myuser/files
容器编号:102
我修改了 Proxmox 中创建用户直通所需的 3 个文件
/etc/pve/lxc/102.conf
underprivlaged: 1
lxc.idmap: u 0 100000 33
lxc.idmap: g 0 100000 33
lxc.idmap: u 33 33 1
lxc.idmap: g 33 33 1
lxc.idmap: u 34 100034 65502
lxc.idmap: g 34 100034 65502
lxc.cgroup.devices.allow = b 8:32 rwm
lxc.mount.entry = /dev/mapper/sdc /mnt/sdc none bind,create=file,uid=33,gid=33 0 0
mp0: /mnt/sdc,mp=/mnt/myuser/files
/etc/subuid
root:100000:65536
root:33:1
/etc/subgid
root:100000:65536
root:33:1
Proxmox 命令(chown 外部存储的挂载点)
chown -R 100033:100033 /mnt/sdc
挂载 /dev/mapper/sdc /mnt/sdc
请记住,我在 Nextcloud LXC 容器中创建 www-data 用户之前完成了所有这些操作。在前端 Web 界面中创建 Nextcloud 用户并永久删除 Nextcloud 数据目录中的默认文件后,我才在 LXC 配置中添加了最后 3 个绑定挂载条目。在添加挂载之前,我确保它是空的。
我正在使用 ZFS 文件系统。我正在尝试创建到 LXC 容器的直通。正如我在上一个帖子中提到的,我正在使用 Nextcloud,所以我也需要创建用户直通。我让用户 ID 映射直通在挂载的目录上正常工作。一切都归www-数据:www-数据按预期操作。Proxmox /mnt/sdc 上的挂载点在更改相应 ID (33:33) 时也会调整名称 www-data。但是,当我挂载驱动器时,Nextcloud 会停止上传文件,我想我知道原因了。我无法写入驱动器。我注意到这是因为每当我在 proxmox 中挂载驱动器时,Proxmox 挂载目录所有权都会更改回根:根再次强调,我使用的是 ZFS,因此我运行了以下命令来防止这种情况
umount /mnt/sdc;
zfs create -o mountpoint=/mnt/sdc /rpool/sdc;
zfs mount rpool/sdc;
chown 33:33 /mnt/sdc;
mount /dev/mapper/sdc /mnt/sdc;
没什么区别。如何确保我挂载的驱动器尊重虚拟机管理程序和直通上的 uid:gid ID 所有权?