tuto4 ready

This commit is contained in:
nemunaire 2022-11-11 10:14:16 +01:00
commit e928733d61
17 changed files with 789 additions and 203 deletions

View file

@ -1,5 +1,3 @@
\newpage
Le *namespace* `user` {#user-ns}
---------------------
@ -23,8 +21,8 @@ utilisateur, on obtient les privilèges requis pour créer tous les autres types
de *namespaces*.
Grâce à cette technique, il est possible de lancer des conteneurs en tant que
simple utilisateur ; le projet [Singularity](https://sylabs.io/) repose
en grande partie sur cela.
simple utilisateur ; les projets [`podman`](https://podman.io/) et
[Singularity](https://sylabs.io/), ... reposent en grande partie sur cela.
### Correspondance des utilisateurs et des groupes
@ -34,7 +32,7 @@ garder dans le nouvel espace, que les utilisateurs et les groupes utiles au
processus, en les renumérotant au passage si besoin.
#### L'utilisateur -2 : *nobody*
#### L'utilisateur -2 : *nobody*\
Lorsque l'on arrive dans un nouvel espace, aucun utilisateur ni groupe n'est
défini. Dans cette situation, tous les identifiants d'utilisateur et de groupe,
@ -45,13 +43,14 @@ l'utilisateur *nobody* et au groupe *nogroup*.
non-modification d'un paramètre passé en argument d'une fonction.
#### `uid_map` et `gid_map`
#### `uid_map` et `gid_map`\
Pour établir la correspondance, une fois que l'on a créé le nouveau
*namespace*, ces deux fichiers, accessibles dans `/proc/self/`, peuvent être
écrits une fois.
##### `uid_map`\
##### `uid_map` {-}
\
Sur chaque ligne, on doit indiquer :
@ -89,13 +88,21 @@ l'utilisateur root, dans le conteneur équivaut à l'utilisateur 1000 hors de
l'espace de noms.
##### `gid_map`\
##### `gid_map` {-}
\
Le principe est identique pour ce fichier, mais agit sur les correspondances
des groupes au lieu des utilisateurs.
Il y a cependant un subtilité car il faut écrire la chaîne `deny` dans le
fichier `setgroups` avant de modifier `gid_map`.
### Utilisation de l'espace de noms
### Utilisation basique de l'espace de noms
Avec `unshare(1)`, voici comment, en tant que simple utilisateur, se dissocier
de plusieurs *namespace*s en gardant un environnement cohérent, dans lequel on
devient le super-utilisateur :
<div lang="en-US">
```bash