Mount bind dans un conteneur LXC

context: Comment monter un disque USB dans un conteneur LXC avec un uid et gid spécifique ?

Il faut passer par 2 étapes.

1 -monter le disque dans le serveur proxmox

Repérer le disque USB avec

fdisk -l

Ici c'est /dev/sdb1

...

Disk /dev/sdb: 1.82 TiB, 2000347734016 bytes, 3906929168 sectors
Disk model: BigQuadra
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 567956CA-9176-418A-BB55-4B419812D0E3

Device     Start        End    Sectors  Size Type
/dev/sdb1   2048 3906928639 3906926592  1.8T Linux filesystem

...

Récuperer l'UUID

root@proxmox:~# blkid /dev/sdb1
/dev/sdb1: LABEL="Sauv_Docs" UUID="ffd6a8e4-80ef-48a4-9479-c2a4e1e4c7c4" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="0c701f63-ac29-4bb3-9670-c6acf2a4fc53"

Ajouter dans fstab la ligne de montage. Ici je monte le disque sur /mnt/usb2To.

UUID=ffd6a8e4-80ef-48a4-9479-c2a4e1e4c7c4 /mnt/usb2To ext4 defaults 0 2

exécuter le montage

mount -a

Maintenant attribuez les doits sur le montage. Ici je l'attribue à www-data (uid =33).

root@proxmox:~# chown 33:33 /mnt/usb2To

2-faire un montage "bind" dans le conteneur avec un mappage uid.

Le conteneur LXC doit être éteint. Sans mappage uid et gid, le montage dans le conteneur sera attribué à nobody et meme root ne pourra pas changer le propriétéaire.

Pour monter le point de montage du disque USB du serveur dans le conteneur le plus simple est de l'indiquer dans le fichier de configuration du conteneur, ici avec id 103.

root@proxmox:~# vi /etc/pve/lxc/103.conf

on ajoute cette ligne

mp0: /mnt/usb2To,mp=/mnt/usb2To

mp est le point de montage dans le conteneur.

pour que www-data soit propriétaire du point de montage il faut l'indiquer dans le le fichier de configuration du conteneur egalement en ajoutant ces lignes:

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 64530
lxc.idmap: g 34 100034 64530

puis dans

root@proxmox:~# vi /etc/subuid

ces lignes:

root:100000:65536
root:33:1

et dans

root@proxmox:~# vi /etc/subgid

ces lignes

root:100000:65536
root:33:1

redémarre le conteneur et vérifier avec ls -l

En cas de probleme, on peut dans le shell de proxmox démarrer le conteneur avec

root@proxmox:~# lxc-start -F -n 103

source:

https://pve.proxmox.com/wiki/Unprivileged_LXC_containers

Dernière modification : le 2026/07/06