SYNOPSIS
unshare [options] programme [arguments]DESCRIPTION
Séparer les espaces de noms indiqués du processus parent puis exécuter le programme indiqué. Les espaces de noms à isoler sont indiqués à l’aide d’options. Les espaces de noms séparables sont les suivants.- espace de noms de montage
-
Les montage et démontage de systèmes de fichiers n'affecteront pas le reste
du système (attribut CLONE_NEWNS), sauf pour les systèmes de fichiers
explicitement marqués comme partagés (avec mount --make-shared, consultez
/proc/self/mountinfo pour l’attribut shared).
Utiliser mount --make-rprivate ou mount --make-rslave après unshare --mount est recommandé pour s’assurer que ces points de montage dans le nouvel espace sont vraiment non partagés avec l’espace de noms parent.
- espace de noms UTS
- La configuration de nom d'hôte ou de nom de domaine n'affectera pas le reste du système (attribut CLONE_NEWUTS).
- espace de noms IPC
- Le processus aura un nom d'espace indépendant pour les files de messagesSystem V, les ensembles de sémaphores et les segments de mémoire partagée (attribut CLONE_NEWIPC).
- espace de noms réseau
- Le processus aura des piles IPv4 et IPv6, des tables de routage IP, des règles de pare-feu, des arborescences des répertoires /proc/net et /sys/class/net, des sockets, etc., indépendantes (attribut CLONE_NEWNET).
- espace de noms PID
- Les fils auront un ensemble propre de PID pour une mise en correspondance avec leur parent (attribut CLONE_NEWPID).
- espace de noms utilisateur
- Le processus aura un ensemble propre d’UID, de GID et de capacités (attribut CLONE_NEWUSER).
Consultez clone(2) pour les sémantiques exactes des attributs.
OPTIONS
- -i, --ipc
- Isoler l'espace de noms IPC.
- -m, --mount
- Isoler l'espace de noms de montage.
- -n, --net
- Isoler l'espace de noms réseau.
- -p, --pid
- Isoler l'espace de noms PID. Consultez également les options --fork et --mount-proc.
- -u, --uts
- Isoler l'espace de noms UTS.
- -U, --user
- Isoler l'espace de noms utilisateur.
- -f, --fork
- Engendrer le programme indiqué comme un processus fils d’unshare plutôt que de l’exécuter directement. C’est utile lors de la création d’un nouvel espace de noms PID.
- --mount-proc[=point_de_montage]
- Juste avant d’exécuter le programme, monter le système de fichiers proc en point_de_montage (/proc par défaut). C’est utile lors de la création d’un nouvel espace de noms PID. Cela implique aussi la création d’un nouvel espace de noms de montage sinon le montage de /proc perturberait les programmes existants sur le système. Le nouveau système de fichiers proc est explicitement monté comme privé (par MS_PRIVATE|MS_REC).
- -r, --map-root-user
- Exécuter le programme seulement après que les identifiants d’utilisateur et de groupe effectifs aient été mis en correspondance avec les UID et GID du superutilisateur dans le nouvel espace de noms utilisateur. Cela permet d’obtenir facilement les capacités nécessaires pour gérer divers aspects des nouveaux espaces de noms (comme la configuration d’interfaces dans l’espace de noms réseau ou le montage des systèmes de fichiers dans l’espace de noms de montage) même lors d’une exécution ordinaire. En tant que fonctionnalité surtout pratique, elle ne permet pas des cas d’utilisation plus sophistiquée comme la mise en correspondance de plusieurs intervalles d’UID et GID. Cette option implique --setgroups=deny.
- -s, --setgroups allow|deny
-
Permettre ou interdire l’appel système setgroups(2) dans les espaces de
noms utilisateur.
setgroups(2) n’est appelable qu’avec CAP_SETGID, et CAP_SETGID dans un espace de noms utilisateur (depuis Linux 3.19) ne permet pas d’appeler setgroups(2) avant d’avoir défini la carte de correspondance de GID. La carte de GID est accessible en écriture au superutilisateur quand setgroups(2) est autorisé, et la carte de GID devient accessible en écriture aux processus normaux quand setgroups(2) est interdit de façon permanente.
- -V, --version
- Afficher les informations sur la version et quitter.
- -h, --help
- Afficher un texte d'aide puis quitter.
EXEMPLES
- # unshare --fork --pid --mount-proc readlink /proc/self
-
1
Établir un espace de noms PID, s’assurer d’être le PID 1 dedans contre l’instance procfs nouvellement montée. - $ unshare --map-root-user --user sh -c whoami
-
root
Établir un espace de noms utilisateur en tant qu’utilisateur ordinaire avec un superutilisateur dedans.
BOGUES
Aucun connu pour le moment.AUTEUR
Mikhail Gusarov <[email protected]>DISPONIBILITÉ
La commande unshare fait partie du paquet util-linux, elle est disponible sur <ftp://ftp.kernel.org/pub/linux/utils/util-linux/>.