Table des matières
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:
