Add part on capabilities

This commit is contained in:
nemunaire 2014-11-28 17:55:56 +01:00
parent 31eb1bbe14
commit 9de3c9c204
1 changed files with 92 additions and 0 deletions

View File

@ -121,10 +121,98 @@ Contrôle l'utilisation faite des ressources de la machine hôte par les machine
## Capabilities
### Résumé
#### Historiquement
* Processus privilégiés : `UID == 0`.
* Processus non-privilégiés : `UID != 0`.
#### Depuis Linux 2.2
* Séparation des privilèges de l'UID 0.
* Chaque thread peut posséder ses propres capacités.
* `prctl(2)`, `execve(2)`,
### Principales capacités
#### Ne pas oublier de désactiver
* `CAP_MKNOD` : `mknod`
* `CAP_NET_RAW` : permet d'écouter tout le réseau
* `CAP_SYS_MODULE` : charge et décharge des modules noyau
* `CAP_SYS_RAWIO` : accès brut aux entrées/sorties
* `CAP_SYS_RESOURCE` : dépassement des quotas, utilisation de l'espace réservé, ...
* `CAP_SYS_TIME` : changer l'heure de la machine
* `CAP_SYS_ADMIN` : misc
#### Ne pas oublier d'activer
* ``
## Namespaces
### Isolation de parties du système
#### Mount Namespace
Isole la vue des partitions montées.
#### UTS Namespace
Identification du système : nom de machine et de domaine.
#### PID Namespace
Crée un arbre d'exécution parallèle où le premier process à être
exécuté devient le PID 1 de cet arbre.
#### Network Namespace
Isole la pile réseau ; crée un nouveau groupe d'interfaces.
#### User Namespace
Crée une liste d'utilisateurs et de groupe distincte.
#### IPC Namespace
Isolation des files de messages de communication interprocessus (IPC).
### Implémentation
```c
#include <sched.h>
#define STACKSIZE (1024*1024)
static char child_stack[STACKSIZE];
int clone_flags = CLONE_NEWNET | SIGCHLD;
pid_t pid = clone(do_execvp,
child_stack + STACKSIZE,
clone_flags,
&args);
```
## cgroups
### Freezer cgroup subsystem
### Device controller for cgroups
### CPU accounting cgroup subsystem
### Memory Resource Controller for Control Groups
### Block IO controller
### Device controller for cgroups
### Network priority cgroup
## LXC
## Docker
@ -136,6 +224,10 @@ Contrôle l'utilisation faite des ressources de la machine hôte par les machine
# Réseau
http://containerops.org/2013/11/19/lxc-networking/
## empty
## phys
## vlan