Add part on capabilities
This commit is contained in:
parent
31eb1bbe14
commit
9de3c9c204
|
@ -121,10 +121,98 @@ Contrôle l'utilisation faite des ressources de la machine hôte par les machine
|
||||||
|
|
||||||
## Capabilities
|
## 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
|
## 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
|
## 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
|
## LXC
|
||||||
|
|
||||||
## Docker
|
## Docker
|
||||||
|
@ -136,6 +224,10 @@ Contrôle l'utilisation faite des ressources de la machine hôte par les machine
|
||||||
|
|
||||||
# Réseau
|
# Réseau
|
||||||
|
|
||||||
|
http://containerops.org/2013/11/19/lxc-networking/
|
||||||
|
|
||||||
|
## empty
|
||||||
|
|
||||||
## phys
|
## phys
|
||||||
|
|
||||||
## vlan
|
## vlan
|
||||||
|
|
Loading…
Reference in New Issue
Block a user