Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:autres:vm:lxc:mode-utilisateur [09/12/2015 14:49] captnfab créée |
doc:autres:vm:lxc:mode-utilisateur [09/12/2015 15:01] captnfab [Préparation] |
||
---|---|---|---|
Ligne 28: | Ligne 28: | ||
<code root>apt-get install less</code> | <code root>apt-get install less</code> | ||
- | ===== Utilisation ===== | + | ===== Préparation ===== |
Nous allons créer un conteneur Test, qui appartiendra à l'utilisateur lxcuser-test, et accèdera au réseau via le pont lxcbr0. | Nous allons créer un conteneur Test, qui appartiendra à l'utilisateur lxcuser-test, et accèdera au réseau via le pont lxcbr0. | ||
- | |||
- | |||
- | ==== Préparation ==== | ||
- | |||
Cette opération sera à répéter pour chaque utilisateur devant pouvoir créer un ou plusieurs conteneurs. C'est la seule partie du tutoriel qui doit nécessairement être effectuée en root. | Cette opération sera à répéter pour chaque utilisateur devant pouvoir créer un ou plusieurs conteneurs. C'est la seule partie du tutoriel qui doit nécessairement être effectuée en root. | ||
- | === Création et configuration de l'utilisateur === | + | ==== Création et configuration de l'utilisateur ==== |
- | * Création de l'utilisateur | + | === Création de l'utilisateur === |
<code root>adduser --disabled-password lxcuser-test</code> | <code root>adduser --disabled-password lxcuser-test</code> | ||
<note info>L'option ''--disabled-password'' n'est pas obligatoire, elle permet simplement de s'assurer que la connexion par mot de passe est impossible via ssh.</note> | <note info>L'option ''--disabled-password'' n'est pas obligatoire, elle permet simplement de s'assurer que la connexion par mot de passe est impossible via ssh.</note> | ||
- | * Identification d'une plage d'uid/gid libre | + | === Identification d'une plage d'uid/gid libre === |
<code user>cat /etc/subuid</code> | <code user>cat /etc/subuid</code> | ||
Exemple : | Exemple : | ||
Ligne 63: | Ligne 59: | ||
Dans notre exemple, on considèrera que le fichier /etc/subgid est identique au fichier /etc/subuid, ce qui est en général le cas. | Dans notre exemple, on considèrera que le fichier /etc/subgid est identique au fichier /etc/subuid, ce qui est en général le cas. | ||
- | * Affectation des sous-{u,g}id à l'utilisateur | + | === Affectation des sous-{u,g}id à l'utilisateur === |
Nous allouons alors les sous-uid et sous-gid à l'utilisateur test via la commande (**à modifier en fonction de vos propres ''/etc/sub{u,g}id'' !**) : | Nous allouons alors les sous-uid et sous-gid à l'utilisateur test via la commande (**à modifier en fonction de vos propres ''/etc/sub{u,g}id'' !**) : | ||
- | <code root>usermod lxcuser-test --add-sub-uids 624288:624288 --add-sub-gids 624288:624288</code> | + | <code root>usermod lxcuser-test --add-sub-uids 624288:689823 --add-sub-gids 624288:689823</code> |
- | === Création et configuration de l'accès au pont réseau === | + | ==== Création et configuration de l'accès au pont réseau ==== |
- | * Création du pont | + | === Création du pont === |
<code root>brctl addbr lxcbr0</code> | <code root>brctl addbr lxcbr0</code> | ||
- | * On autorise l'utilisateur lxcuser-test à connecter une interface //ethernet// virtuelle au port (vous pouvez augmenter ce nombre selon vos besoins, fichier à créer) : | + | === Accès === |
+ | On autorise l'utilisateur lxcuser-test à connecter une interface //ethernet// virtuelle au port (vous pouvez augmenter ce nombre selon vos besoins, fichier à créer) : | ||
<code text /etc/lxc/lxc-usernet> | <code text /etc/lxc/lxc-usernet> | ||
lxcuser-test veth lxcbr0 1 | lxcuser-test veth lxcbr0 1 | ||
</code> | </code> | ||
- | ==== Création du conteneur ==== | + | ===== Création du conteneur ===== |
+ | |||
+ | Il existe plusieurs méthodes pour installer une Debian/Ubuntu/Whatever dans un dossier. L'ennui est que la plupart requiert les droits super-utilisateurs pour lancer debootstrap. | ||
+ | Ceci-dit, cette opération n'est a priori à faire qu'une fois, et l'alternative n'est pas forcément réjouissante. Nous présentons les deux possibilités les plus intéressantes. | ||
+ | |||
+ | ==== Méthode template download ==== | ||
+ | |||
+ | Le code à faire en tant qu'utilisateur est à faire en tant que ''lxcuser-test''. | ||
+ | |||
+ | === Configuration des options par défaut === | ||
+ | |||
+ | <code ini ~lxcuser-test/.config/lxc/default.conf>lxc.network.type = veth | ||
+ | lxc.network.link = lxcbr0 | ||
+ | lxc.network.flags = up | ||
+ | # À compléter pour définir une adresse mac | ||
+ | #lxc.network.hwaddr = 00:16:3e:xx:xx:xx | ||
+ | lxc.id_map = u 0 624288 65536 | ||
+ | lxc.id_map = g 0 624288 65536</code> | ||
+ | Remplacer //624288// sur les deux dernières lignes par les valeurs du premier sous-uid/gid alloué à votre utilisateur. | ||
+ | |||
+ | |||
+ | ==== Méthode root + chown ==== | ||
- | ==== Utilisation du conteneur ==== | + | Dans |
+ | [code=root] | ||
+ | ===== Utilisation du conteneur ===== | ||
+ | ===== FAQ / Problèmes rencontrés ===== |