Mon noyau Linux doit avoir été configuré avec user_namespaces lors de sa construction, mais leur utilisation est restreinte après le démarrage et doit être explicitement activée. Quel sysctl dois-je utiliser ?
(Si cela était activé, cela permettrait d'exécuter une commande d'isolation comme unshare --user --map-root-user --mount-proc --pid --fork
, puis exécutez chroot
sans être root - une fonctionnalité très attendue de Linux.)
Réponse acceptée :
Debian (et donc probablement Ubuntu aussi) est connu pour fournir un noyau avec une telle restriction d'espaces de noms d'utilisateurs, et là, la façon de l'activer était/est :
sysctl -w kernel.unprivileged_userns_clone=1
(Source :https://blog.mister-muffin.de/2015/10/25/unshare-without-superuser-privileges/.)
ALT a également une telle restriction dans kernel-image-std-def. Contrairement à Debian, il s'appelle kernel.userns_restrict
.
Normalement, c'est 1 (c'est-à-dire "restreint") :
$ cat /proc/sys/kernel/userns_restrict
1
Pour l'activer, echo 0 > /proc/sys/kernel/userns_restrict
(ou utilisez sysctl
comme ci-dessus, bien sûr).