Work on TP3
This commit is contained in:
parent
d3abdfa1d1
commit
1aa9530f3a
8 changed files with 132 additions and 105 deletions
|
@ -5,7 +5,8 @@ L'isolation ... du pauvre
|
|||
|
||||
Depuis les premières versions d'Unix, il est possible de changer le répertoire
|
||||
vu comme étant la racine du système de fichiers. En anglais : *change root*:
|
||||
`chroot`.
|
||||
`chroot`. Le processus effectuant cette action ainsi que tous ses fils, verront
|
||||
donc une racine différente du reste du système.
|
||||
|
||||
|
||||
## Mise en place de l'environnement
|
||||
|
@ -21,11 +22,11 @@ mkdir newroot
|
|||
|
||||
### `busybox`
|
||||
|
||||
On a déjà parlé du projet Busybox : c'est un programme linké statiquement,
|
||||
c'est-à-dire qu'il n'a pas de dépendance sur des bibliothèques
|
||||
dynamiques. Il se suffit donc à lui-même dans un chroot (dans lequel on ne peut
|
||||
pas accéder aux bibliothèques du système, il faudrait toutes les copier à la
|
||||
main).
|
||||
Queques mots, pour commencer, à propos du projet Busybox : c'est un programme
|
||||
*linké* statiquement, c'est-à-dire qu'il ne va pas chercher et charger de
|
||||
bibliothèque dynamique à son lancement. Il se suffit donc à lui-même dans un
|
||||
*chroot*, car il n'a pas de dépendances. Nous pouvons donc tester notre
|
||||
première isolation :
|
||||
|
||||
<div lang="en-US">
|
||||
```shell
|
||||
|
@ -34,11 +35,24 @@ chroot newroot /busybox ash
|
|||
```
|
||||
</div>
|
||||
|
||||
Jusque là ... ça fonctionne, rien de surprenant ! Mais qu'en est-il pour
|
||||
`bash` :
|
||||
|
||||
<div lang="en-US">
|
||||
```shell
|
||||
42sh$ cp $(which bash) newroot/
|
||||
42sh# chroot newroot /bash
|
||||
chroot: failed to run command ‘bash’: No such file or directory
|
||||
```
|
||||
</div>
|
||||
|
||||
De quel fichier est-il question ici ?
|
||||
|
||||
|
||||
### `debootstrap`
|
||||
|
||||
`debootstrap` est le programme utilisé par l'installeur des distributions
|
||||
Debian et ses dérivés. Il permet d'installer dans un dossier (en général, ce
|
||||
Debian et ses dérivées. Il permet d'installer dans un dossier (en général, ce
|
||||
dossier correspond au point de montage de la nouvelle racine choisie par
|
||||
l'utilisateur lors de l'installation) le système de base.
|
||||
|
||||
|
@ -95,10 +109,3 @@ Mais une fois votre programme `escape` exécuté, vous devriez pouvoir !
|
|||
cat /path/to/foo
|
||||
```
|
||||
</div>
|
||||
|
||||
|
||||
## Rendu
|
||||
|
||||
### Questions
|
||||
|
||||
1. Citez une solution empêchant l'échappement d'un `chroot`.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue