Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Dernière révision Les deux révisions suivantes
lxc [Le 27/07/2018, 17:28]
beaver
lxc [Le 12/08/2018, 11:33]
beaver
Ligne 17: Ligne 17:
  
 ===== Création de notre premier container LXC (root) ===== ===== Création de notre premier container LXC (root) =====
-<note warning>​Attention,​ bien que vos processus soient isolés de votre [[wpfr>​Hôte_(informatique)|machine hôte]], via ce procédé, votre container LXC nécessitera d'​utiliser [[:​sudo|sudo]] pour être fonctionnel. Si vous avez une faille de sécurité dans votre container, une [[wp>​Privilege_escalation|escalade des privilèges]] peut être intenté sur votre container, pour accéder à votre [[wpfr>​Hôte_(informatique)|machine hôte]]. L'​utilisation de [[:​sudo|sudo]] pourrait donc compromettre votre [[wpfr>​Hôte_(informatique)|système hôte]] !.</​note>​+<note warning>​Attention,​ bien que vos processus soient isolés de votre [[wpfr>​Hôte_(informatique)|machine hôte]], via ce procédé, votre container ​[[apt>​lxc|LXC]] nécessitera d'​utiliser [[:​sudo|sudo]] pour être fonctionnel. Si vous avez une faille de sécurité dans votre container, une [[wp>​Privilege_escalation|escalade des privilèges]] peut être intenté sur votre container, pour accéder à votre [[wpfr>​Hôte_(informatique)|machine hôte]]. L'​utilisation de [[:​sudo|sudo]] pourrait donc compromettre votre [[wpfr>​Hôte_(informatique)|système hôte]] !.</​note>​
  
 Pour créer un container avec pour nom((Option -n.)) **container_xenial**,​ pour la distribution((Option -d.)) **Ubuntu**, sous la release((Option -r.)) **Xenial**, ayant une architecture((Option -a.)) **amd64**, nous utiliserons cette commande : Pour créer un container avec pour nom((Option -n.)) **container_xenial**,​ pour la distribution((Option -d.)) **Ubuntu**, sous la release((Option -r.)) **Xenial**, ayant une architecture((Option -a.)) **amd64**, nous utiliserons cette commande :
Ligne 118: Ligne 118:
  
 Deux solutions s'​offrent maintenant à nous pour accéder à notre container, nous pouvons utiliser la commande [[ssh|ssh]],​ ou bien, nous pouvons utiliser la commande **lxc-console** : Deux solutions s'​offrent maintenant à nous pour accéder à notre container, nous pouvons utiliser la commande [[ssh|ssh]],​ ou bien, nous pouvons utiliser la commande **lxc-console** :
- 
- 
  
 <code bash>## <code bash>##
Ligne 144: Ligne 142:
 ---- ----
  
-<​note>​**__//​Conclusion//​__** : Vous voilà maintenant en possession d'un container LXC **Ubuntu 16.04** ayant pour nom **container_xenial** !.</​note>​+<​note>​**__//​Conclusion//​__** : Vous voilà maintenant en possession d'un container ​[[apt>​lxc|LXC]] **Ubuntu 16.04** ayant pour nom **container_xenial** !.</​note>​
  
-Le chemin absolu de votre container **container_xenial** se trouve dans :+Le [[wpfr>​Chemin_d%27accès|chemin absolu]] de votre container **container_xenial** se trouve dans :
 <code bash>/​var/​lib/​lxc/​container_xenial/​rootfs</​code>​ <code bash>/​var/​lib/​lxc/​container_xenial/​rootfs</​code>​
 La configuration de votre container **container_xenial** se trouve dans : La configuration de votre container **container_xenial** se trouve dans :
Ligne 169: Ligne 167:
 ===== Configuration de LXC pour une utilisation unprivileged ===== ===== Configuration de LXC pour une utilisation unprivileged =====
  
-Pour pouvoir utiliser LXC sans [[sudo|sudo]],​ et donc par conséquent,​ minimiser le risque qu'un attaquant arrive à avoir accès à votre [[wpfr>​Hôte_(informatique)|hôte système]] à cause de l'​utilisation de [[sudo|sudo]],​ nous allons déjà récupérer le **subgid** ainsi que le **subguid** de notre utilisateur courant :+Pour pouvoir utiliser ​[[apt>​lxc|LXC]] sans [[sudo|sudo]],​ et donc par conséquent,​ minimiser le risque qu'un attaquant arrive à avoir accès à votre [[wpfr>​Hôte_(informatique)|hôte système]] à cause de l'​utilisation de [[sudo|sudo]],​ nous allons déjà récupérer le **subgid** ainsi que le **subguid** de notre utilisateur courant :
 <code bash> <code bash>
 cat /​etc/​sub{g,​u}id | grep $USER cat /​etc/​sub{g,​u}id | grep $USER
Ligne 296: Ligne 294:
 À ce stade, vous allez pouvoir utiliser la commande **passwd ubuntu** et ainsi, définir le mot de passe que vous voulez à votre utilisateur **ubuntu** ! ;-). À ce stade, vous allez pouvoir utiliser la commande **passwd ubuntu** et ainsi, définir le mot de passe que vous voulez à votre utilisateur **ubuntu** ! ;-).
  
-Le chemin absolu de votre container **container_unprivileged** se trouve dans :+Le [[wpfr>​Chemin_d%27accès|chemin absolu]] de votre container **container_unprivileged** se trouve dans :
 <code bash>/​home/​$USER/​.local/​lxc/​container_unprivileged/​rootfs</​code>​ <code bash>/​home/​$USER/​.local/​lxc/​container_unprivileged/​rootfs</​code>​
  
Ligne 308: Ligne 306:
 <code bash>/​var/​lib/​lxc/​container_name/​config</​code>​ <code bash>/​var/​lib/​lxc/​container_name/​config</​code>​
  
-La configuration de votre LXC **unprivileged** se trouve dans :+La configuration de votre [[apt>​lxc|LXC]] **unprivileged** se trouve dans :
  
 <code bash> <code bash>
Ligne 349: Ligne 347:
 ---- ----
  
-<​note>​**__//​Conclusion//​__** : Vous voilà maintenant en possession d'un container LXC **Ubuntu 16.04**, le tout en "​mode"​ **unprivileged**,​ ayant pour nom **container_unprivileged** !. Pour le reste, la syntaxe reste la même, veillez surtout à ne plus utiliser : <code bash>​sudo lxc-trucmuche</​code>​ mais juste : <code bash>​lxc-trucmuche</​code>​.</​note>​+<​note>​**__//​Conclusion//​__** : Vous voilà maintenant en possession d'un container ​[[apt>​lxc|LXC]] **Ubuntu 16.04**, le tout en "​mode"​ **unprivileged**,​ ayant pour nom **container_unprivileged** !. Pour le reste, la syntaxe reste la même, veillez surtout à ne plus utiliser : <code bash>​sudo lxc-trucmuche</​code>​ mais juste : <code bash>​lxc-trucmuche</​code>​.</​note>​
  
  
Ligne 371: Ligne 369:
 Il est relativement aisé, de backup un container LXC, pour se faire, veuillez ouvrir un [[:​terminal|terminal]]. ​ Il est relativement aisé, de backup un container LXC, pour se faire, veuillez ouvrir un [[:​terminal|terminal]]. ​
  
-Ensuite nous devons déjà stopper notre container LXC :+Ensuite nous devons déjà stopper notre container ​[[apt>​lxc|LXC]] :
  
 <code bash>​sudo((Container unprivileged ou non ?)) lxc-stop -n nom_de_mon_container</​code>​ <code bash>​sudo((Container unprivileged ou non ?)) lxc-stop -n nom_de_mon_container</​code>​
Ligne 426: Ligne 424:
  
 <note tip>Nous aborderons ici, que la restauration de votre backup précédemment créé. ​ <note tip>Nous aborderons ici, que la restauration de votre backup précédemment créé. ​
-Pour la configuration d'un container LXC **unprivileged**,​ merci de suivre le chapitre [[lxc#​configuration_de_lxc_pour_une_utilisation_unprivileged|configuration de lxc pour une utilisation unprivileged]].+Pour la configuration d'un container ​[[apt>​lxc|LXC]] **unprivileged**,​ merci de suivre le chapitre [[lxc#​configuration_de_lxc_pour_une_utilisation_unprivileged|configuration de lxc pour une utilisation unprivileged]].
 </​note>​ </​note>​
  
Ligne 461: Ligne 459:
 ==== Méthode lxc-snapshot ==== ==== Méthode lxc-snapshot ====
  
-<note>En cours de rédaction.--- //[[:utilisateurs:​beaver|beaver]] Le 27/07/2018, 12:08//</note>+Il existe un outil dédié à [[apt>lxc|LXC]] pour backup votre container, il se prénomme [[apt>​lxc-snapshot|lxc-snapshot]]. 
 + 
 +Il faut tout d'​abord,​ éteindre notre container : 
 + 
 +<code bash>​sudo((container unprivileged ou non ?)) lxc-stop -n nom_de_mon_container<​/code> 
 + 
 +Ensuite nous utilisons ​[[apt>​lxc-snapshot|lxc-snapshot]] ​: 
 + 
 +<code bash>​sudo((container unprivileged ou non ?)) lxc-snapshot -n nom_de_mon_container</​code>​ 
 + 
 +<code bash>beaver@home:~$ sudo lxc-snapshot -n container_xenial 
 +lxc-snapshot:​ lxccontainer.c:​ do_lxcapi_snapshot:​ 3405 Snapshot of directory-backed container requested. 
 +lxc-snapshot:​ lxccontainer.c:​ do_lxcapi_snapshot:​ 3406 Making a copy-clone. ​ If you do want snapshots, then 
 +lxc-snapshot:​ lxccontainer.c:​ do_lxcapi_snapshot:​ 3407 please create an aufs or overlayfs clone first, snapshot that 
 +lxc-snapshot:​ lxccontainer.c:​ do_lxcapi_snapshot:​ 3408 and keep the original container pristine. 
 +</​code>​ 
 + 
 +Pour connaitre le [[wpfr>​Chemin_d%27accès|chemin absolu]] de votre snapshot, vous utiliserez : 
 + 
 +<code bash>​sudo((container unprivileged ou non?)) lxc-snapshot -L -n nom_de_mon_container<​/code> 
 +<code bash>​beaver@home:​~$ sudo lxc-snapshot -L -n container_xenial 
 +snap0 (/var/​lib/​lxc/​container_xenial/​snaps) ​2018:07:28 10:25:48 
 +</code> 
 + 
 +Pour restaurer un container depuis votre snapshot vous utiliserez : 
 + 
 +<code bash>​sudo((container unprivileged ou non?)) lxc-snapshot -r snapX -n nom_de_mon_container</code>
  
 ---- ----
 +
 +===== Création d'une image customisée LXC =====
 +
 +=== Prérequis ===
 +
 +[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet:]] [[apt>​debootstrap|debootstrap]] ou [[apt>​cdeboostrap|cdeboostrap]].
 +
 +----
 +
 +<​note>​ En cours --- //​[[:​utilisateurs:​beaver|beaver]] Le 12/08/2018, 11:​18//</​note>​
 +
  
 ===== Voir aussi ===== ===== Voir aussi =====
  • lxc.txt
  • Dernière modification: Le 26/08/2018, 16:45
  • par beaver