Work on TP4

This commit is contained in:
nemunaire 2016-10-19 05:24:05 +02:00
commit 58a228ef2d
13 changed files with 694 additions and 97 deletions

View file

@ -178,6 +178,7 @@ Je vous recommande la lecture des *man* suivants :
Et de ces quelques articles :
* [Secure Your Containers with this One Weird Trick](http://rhelblog.redhat.com/2016/10/17/secure-your-containers-with-this-one-weird-trick/)
* [Guidelines for extended attributes](https://www.freedesktop.org/wiki/CommonExtendedAttributes/)
* [File-based capabilities](https://lwn.net/Articles/211883/)
* [A bid to resurrect Linux capabilities](https://lwn.net/Articles/199004/)

View file

@ -22,7 +22,7 @@ utiliser du C, du C++, du Python, etc.
L'usage de bibliothèques **non relatives** au projet est autorisé : le but de
ce sujet est d'évaluer votre compréhension et votre utilisation de la
tuyauterie bas-niveau du noyau liée à la virtualisation légère, à partir du
tuyauterie bas-niveau du noyau liée à la virtualisation légère. À partir du
moment où vous n'utilisez pas une bibliothèque qui abstrait complètement cette
plomberie, n'hésitez pas à l'utiliser !
@ -30,7 +30,7 @@ Gardez en tête que ce projet sera à continuer au prochain TP, où il sera
principalement question de faire des appels système.
### Stage 1 : Restreindre l'environnement
### Stage 1 : Restreindre l'environnement (2 points)
Après avoir mis en place les bases de votre programme, commencez par créer les
différentes hiérarchies (si vous avez un noyau récent, vous pouvez utiliser les
@ -49,7 +49,7 @@ moulinette ne possède pas tous ces *CGroup*s, au lieu de planter, ne rien faire
n'est pas forcément une mauvaise solution.
### Stage 2 : Réduire les *capabilities*
### Stage 2 : Réduire les *capabilities* (2 points)
Réduisez au maximum les capabilities, de telle sorte qu'il ne soit pas possible
de faire un ping dans l'environnement restreint :
@ -78,7 +78,7 @@ Aidez-vous du visualisateur de *capabilities* de la partie 4, pour voir si vous
êtes sur la bonne voie.
### Stage 3 : Utilisable par un utilisateur
### Stage 3 : Utilisable par un utilisateur (1 point)
Jouez avec les attributs étendus pour qu'un utilisateur non-privilégié puisse
exécuter votre moulinette. Ajouter la/les commande(s) à votre Makefile ou
@ -96,7 +96,7 @@ dans la partie sur les *chroot*.
sera seulement utile pour faire des tests.**
### Stage 4 : Isolation du pauvre
### Stage 4 : Isolation du pauvre (1 point)
Nous n'avons pas encore vu de meilleure méthode pour mieux isoler
l'environnement que de faire un `chroot`, ajouter à votre programme cette
@ -104,7 +104,7 @@ isolation rudimentaire. Et rendez-vous au prochain cours pour avoir une
meilleure d'isolation !
### Stage 5 (bonus) : automatisation de la création de l'environnement
### Stage 5 (bonus) : automatisation de la création de l'environnement (5 points)
Pour moulinéter plusieurs étudiants en parallèle, vous allez avoir besoin de
plusieurs environnements identiques. Plutôt que de recopier cet environnement,