Restructure project

This commit is contained in:
nemunaire 2021-10-31 20:51:30 +01:00
parent c960136430
commit 582765e6de
4 changed files with 63 additions and 7 deletions

View File

@ -1,7 +1,7 @@
include ../../tutorial/pandoc-opts.mk
SOURCES_PART = subject.md project-part1.md project-tbc.md sample.md
SOURCES = subject.md project-part1.md project-part1.1.md project-part2.md sample.md rendu.md end.md
SOURCES = subject.md project-part1.md project-part2.md sample.md rendu.md end.md
all: partial.pdf subject.pdf

View File

@ -0,0 +1,22 @@
## Palier 5 : Automatisation de la création de l'environnement (1 point) {-}
Intégrer le script `registry_play.sh`, réalisé au TP précédent, à votre
programme afin de pouvoir créer un environnement neuf à chaque nouvelle
exécution.
Vous pouvez l'utiliser tel quel, ou le réécrire pour qu'il s'intègre plus
facilement au sein du langage que vous avez choisi.
L'appel du programme se fera alors ainsi, avec l'otion `-I` pour préciser que
l'on s'attend à trouver le nom d'une image Docker :
<div lang="en-US">
```
42sh# ./mymoulette -I library/alpine:latest /bin/ash
ash# which apk
/sbin/apk
```
</div>
Vous pourriez utiliser `mkdtemp(3)` pour déterminer l'emplacement de
décompression des tarballs d'image.

View File

@ -1,4 +1,4 @@
## Palier 6 : Une vraie isolation (2 points) {-}
## Palier 5 : Une vraie isolation (2 points) {-}
En plus du `chroot`, assignez de nouveaux *namespaces* au processus que vous
allez lancer : `cgroups`, `IPC`, `mount`, `net`, `PID`, `UTS`.
@ -19,7 +19,7 @@ Vous aurez besoin de déplacer le code écrit pour les premiers paliers (cgroups
caps, ...), après vous être dissocié de cet espace de noms.
## Palier 7 : Empêcher les fuites d'information (2 points) {-}
## Palier 6 : Empêcher les fuites d'information (2 points) {-}
Démontez tous les systèmes de fichiers qui ne sont pas nécessaires au
fonctionnement de votre conteneur et remontez les partitions
@ -30,7 +30,7 @@ opération est nécessaire afin de terminer l'étape d'isolation.
**Astuce\ :** `mount(2)`.
## Palier 7 bis : Volume attaché au code à moulinéter (1 point) {-}
## Palier 6 bis : Volume attaché au code à moulinéter (1 point) {-}
Ajoutez une option à votre moulinette afin de lier le dossier (qui se trouve
sur la machine hôte) contenant le code d'un étudiant, à l'intérieur du
@ -59,7 +59,7 @@ src/ tests/ AUTHORS configure Makefile.am README TODO
**Astuce\ :** `mount(2)`, `mkdir(2)`.
## Palier 8 : Identification du conteneur (1 point) {-}
## Palier 7 : Identification du conteneur (1 point) {-}
Maintenant que vous avez votre conteneur, personalisez-le un peu en lui donnant
un nom unique.
@ -77,7 +77,7 @@ shie6aif2aiH
</div>
## Palier 9 : `pivot_root` (3 points) {-}
## Palier 8 : `pivot_root` (3 points) {-}
Effectuez un `pivot_root(2)` de telle sorte qu'il ne reste plus de trace du
système de fichiers hôte.
@ -88,7 +88,7 @@ système de fichiers hôte.
`pivot_root(2)`, vous devrez donc ne les appliquer qu'après cette étape.
## Palier 10 : Bac à sable connecté (2 points) {-}
## Palier 9 : Bac à sable connecté (3 points) {-}
Partant d'une liste d'interfaces sur la machine hôte similaire à :

34
subject/2/project-tbc.md Normal file
View File

@ -0,0 +1,34 @@
## Palier 5 à 10 : *To be continued* {-}
Nous verrons ensemble de meilleures techniques d'isolation au prochain cours.
Le sujet sera mis à jour en conséquence.
\newpage
Rendu
=====
Le rendu du projet final avec tous les paliers est attendu pour le samedi 13
novembre 2021 à 23:42.
Il n'est pas attendu de rendu intermédiaire pour cette première partie seule.
Tarball
-------
Voici une arborescence type (vous pourriez avoir des fichiers supplémentaires,
cela dépendra de votre avancée dans le projet) :
<div lang="en-US">
```
login_x-project2/
login_x-project2/README
login_x-project2/Makefile
login_x-project2/src/...
```
</div>
\newpage