Restructure project
This commit is contained in:
parent
c960136430
commit
582765e6de
@ -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
|
||||
|
22
subject/2/project-part1.1.md
Normal file
22
subject/2/project-part1.1.md
Normal 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.
|
@ -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
34
subject/2/project-tbc.md
Normal 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
|
Loading…
Reference in New Issue
Block a user