Provided by: manpages-de_2.5-1_all bug

BEZEICHNUNG

       unshare  -  Programme  ausführen,  wobei einige Namensräume von dem Elternprozess getrennt
       sind

ÜBERSICHT

       unshare [Optionen] [Programm [Argumente]]

BESCHREIBUNG

       Trennt die angegebenen Namensräume von dem Elternprozess und  führt  dann  das  angegebene
       Programm  aus.  Falls  Programm  nicht  angegeben  ist,  dann  wird  »${SHELL}« ausgeführt
       (Vorgabe: /bin/sh).

       Die Namensräume können wahlweise beständig gemacht werden, indem  /proc/PID/ns/Typ-Dateien
       mit »bind« in einen Dateisystempfad eingebunden und mit nsenter(1) betreten werden, sogar,
       wenn das Programm beendet wird (außer PID-Namensräume, bei denen ein  dauerhaft  laufender
       Init-Prozess benötigt wird). Sobald ein beständiger Namensraum nicht länger benötigt wird,
       kann die Beständigkeit mit umount(8) aufgehoben werden. Weitere Einzelheiten finden Sie im
       Abschnitt BEISPIELE.

       Die  Namensräume,  die  getrennt  werden sollen, werden über Optionen angegeben. Trennbare
       Namensräume sind:

       Einhänge-Namensraum
              Ein- und Aushängen von Dateisystemen betrifft den Rest des Systems nicht, außer für
              Dateisysteme,  die  explizit  als  gemeinsam  benutzt (»shared«) markiert sind (mit
              mount --make-shared; siehe /proc/self/mountinfo oder findmnt -o+PROPAGATION für die
              shared-Schalter).  Für weitere Details siehe mount_namespaces(7) und die Diskussion
              des Schalters CLONE_NEWNS in clone(2).

              Seit Util-Linux Version  2.27  setzt  unshare  die  Fortpflanzung  in  einem  neuen
              Einhängenamensraum  auf  private,  um  sicherzustellen,  dass  der  neue Namensraum
              wirklich getrennt ist. Diese  Funktionalität  kann  mit  der  Option  --propagation
              unchanged  deaktiviert  werden.  Beachten Sie, dass private die Vorgabe des Kernels
              ist.

       UTS-Namensraum
              Setzen des Rechner- oder Domain-Namens wird den Rest des Systems  nicht  betreffen.
              Für   weitere   Details  siehe  namespaces(7)  und  die  Diskussion  des  Schalters
              CLONE_NEWUTS in clone(2).

       IPC-Namensraum
              Der Prozess wird einen unabhängigen Namensraum für  POSIX-Nachrichtenwarteschlangen
              sowie    System-V-Nachrichtenwarteschlangen,   Semaphore-Gruppen   und   gemeinsame
              Speichersegmente haben. Für weitere Details siehe namespaces(7) und die  Diskussion
              des Schalters CLONE_NEWIPC in clone(2).

       Netz-Namensraum
              Der  Prozess  wird  über  unabhängige  IPv4-  und IPv6-Stapel, IP-Routing-Tabellen,
              Firewall-Regeln, die Verzeichnisbäume /proc/net und /sys/class/net  usw.  verfügen.
              Für   weitere   Details  siehe  namespaces(7)  und  die  Diskussion  des  Schalters
              CLONE_NEWNET in clone(2).

       PID-Namensraum
              Kindprozesse werden eine eigene Gruppe von Abbildungen der PIDs zu Prozessen haben.
              Für  weitere  Details  siehe  pid_namespaces(7)  und  die  Diskussion des Schalters
              CLONE_NEWPID in clone(2).

       Cgroup-Namensraum
              Der Prozess wird über einen virtualisierten Blick  auf  /proc/self/cgroup  verfügen
              und   neue   Cgroup-Einhängungen   werden   ihre   Wurzel   in   der   Wurzel   der
              Cgroup-Namensraum-Wurzel haben. Für weitere Details siehe cgroup_namespaces(7)  und
              die Diskussion des Schalters CLONE_NEWCGROUP in clone(2).

       Benutzer-Namensraum
              Der  Prozess  wird  über  eine  eindeutige  Gruppe  an  UIDs, GIDS und Capabilities
              verfügen. Für weitere Details  siehe  user_namespaces(7)  und  die  Diskussion  des
              Schalters CLONE_NEWUSER in clone(2).

OPTIONEN

       -i, --ipc[=Datei]
              Trennen  des  IPC-Namensraums.  Falls  Datei  angegeben  ist,  wird ein beständiger
              Namensraum mit einer »bind«-Einhängung erstellt.

       -m, --mount[=Datei]
              Hebt die Freigabe des eingehängten Namensraums auf. Falls Datei angegeben ist, wird
              ein  beständiger  Namensraum durch ein Einhängen mit »bind« erstellt. Beachten Sie,
              dass Datei auf einem Dateisystem liegen muss, bei  dem  der  Fortpflanzungsschalter
              auf  private gesetzt ist. Verwenden Sie den Befehl findmnt -o+PROPAGATION, wenn Sie
              sich bezüglich der derzeitigen Einstellung nicht sicher sind. Lesen  Sie  auch  die
              nachfolgenden Beispiele.

       -n, --net[=Datei]
              Trennen  des  Netz-Namensraums.  Falls  Datei  angegeben  ist, wird ein beständiger
              Namensraum mit einer »bind«-Einhängung erstellt.

       -p, --pid[=Datei]
              Trennen des PID-Namensraums.  Falls  Datei  angegeben  ist,  wird  ein  beständiger
              Namensraum mit einer »bind«-Einhängung erstellt. Siehe auch die Optionen --fork und
              --mount-proc.

       -u, --uts[=Datei]
              Trennen des UTS-Namensraums.  Falls  Datei  angegeben  ist,  wird  ein  beständiger
              Namensraum mit einer »bind«-Einhängung erstellt.

       -U, --user[=Datei]
              Trennen  des  Benutzer-Namensraums. Falls Datei angegeben ist, wird ein beständiger
              Namensraum mit einer »bind«-Einhängung erstellt.

       -C, --cgroup[=Datei]
              Trennen des Cgroup-Namensraums. Falls Datei angegeben  ist,  wird  ein  beständiger
              Namensraum mit einer »bind«-Einhängung erstellt.

       -f, --fork
              Verzweigt  das  angegebene  Programm als Kindprozess von unshare, anstatt es direkt
              auszuführen. Dies ist nützlich, wenn eine neuer PID-Namensraum erstellt wird.

       --mount-proc[=Einhängepunkt]
              Direkt vor Ausführung des Programms wird das proc-Dateisystem  unter  Einhängepunkt
              (Vorgabe   ist   /proc)   eingehängt.  Das  ist  bei  der  Erstellung  eines  neuen
              PID-Namensraums  nützlich.  Dies  impliziert  auch  die  Erstellung   eines   neuen
              Einhängenamensraums, da die /proc-Einhängung ansonsten bestehende Programme auf dem
              System durcheinanderbringen würde. Das  neue  proc-Dateisystem  wird  explizit  als
              privat eingehängt (mit MS_PRIVATE|MS_REC).

       -r, --map-root-user
              Führt  das  Programm  erst aus, wenn die effektive Benutzer- und Gruppen-ID auf die
              UID und GID des Systemverwalters in dem neu erstellten Namensraum abgebildet wurde.
              Dies ermöglicht es, bequem die benötigten Capabilities zu erlangen, um verschiedene
              Aspekte in dem neu erstellten Namensraum zu verwalten (wie  die  Konfiguration  von
              Schnittstellen  im  Netz-Namensraum  oder  das  Einhängen  von Dateisystemen in dem
              Einhängenamensraum),   selbst   bei   unprivilegierter   Ausführung.   Als    reine
              Bequemlichkeitsfunktionalität     unterstützt    es    keine    fortgeschritteneren
              Anwendungsfälle, wie das Abbilden von mehreren Bereichen von UIDs und  GIDs.  Diese
              Option impliziert --setgroups=deny.

       --propagation private|shared|slave|unchanged
              Setzt  den Einhängefortpflanzungsschalter in dem neuen Einhängenamensraum rekursiv.
              Die Vorgabe ist, die Fortpflanzung auf private zu setzen.  Es  ist  möglich,  diese
              Funktionalität  mit  dem Argument unchanged zu deaktivieren. Diese Option wird ohne
              Rückmeldung ignoriert, wenn  der  Einhängenamensraum  (--mount)  nicht  angefordert
              wird.

       --setgroups allow|deny
              Erlaubt oder verweigert den Systemaufruf setgroups(2) in Benutzer-Namensräumen.

              Um  setgroups(2)  aufrufen  zu  können, muss der aufrufende Prozess mindestens über
              CAP_SETGID verfügen. Seit Linux 3.19 gilt eine weitere  Einschränkung:  Der  Kernel
              erteilt  die  Berechtigung,  setgroups(2) aufzurufen, nur nachdem die GID-Abbildung
              (/proc/pid/gid_map)  eingerichtet  wurde.  Die   GID-Abbildung   ist   durch   Root
              beschreibbar,  wenn  setgroups(2)  aktiviert  ist (d.h. allow, die Vorgabe) und die
              GID-Abbildung wird durch unprivilegierte Prozesse beschreibbar,  wenn  setgroups(2)
              permanent deaktiviert ist (mit deny).

       -V, --version
              zeigt Versionsinformationen an und beendet das Programm.

       -h, --help
              zeigt diese Hilfe an und beendet das Programm.

ANMERKUNGEN

       Die  proc-  und  sysfs-Dateisystemeinhängungen als Root in einem Benutzernamensraum müssen
       eingeschränkt werden, so dass ein weniger privilegierter Benutzer nicht mehr Zugriffe  auf
       sensitive  Dateien  haben  kann, als ein höher privilegierter Benutzer unverfügbar gemacht
       hat. Kurz gesagt, die Regeln für proc und sysfs ist so ähnlich  zu  einer  Bind-Einhängung
       wie möglich.

BEISPIELE

       # unshare --fork --pid --mount-proc readlink /proc/self
       1
              Etabliert  einen  PID-Namensraum  und stellt sicher, dass er PID 1 gegen eine darin
              frisch eingehängte Procfs-Instanz ist.

       $ unshare --map-root-user --user sh -c whoami
       root
              Etabliert einen user-Namensraum als unprivilegierten Benutzer  mit  einem  Benutzer
              »root« darin.

       # touch /root/uts-ns
       # unshare --uts=/root/uts-ns Rechnername FOO
       # nsenter --uts=/root/uts-ns Rechnername
       FOO
       # umount /root/uts-ns
              Etabliert  einen  dauerhaften  UTS-Namensraum  und  verändert den Rechnernamen. Der
              Namensraum wird mit nsenter betreten.  Der  Namensraum  wird  durch  Aushängen  der
              »bind«-Referenz zerstört.

       # mount --bind /root/namespaces /root/namespaces
       # mount --make-private /root/namespaces
       # touch /root/namespaces/mnt
       # unshare --mount=/root/namespaces/mnt
              Etabliert  einen  dauerhaften  Einhängenamensraum,  der  von  der »bind«-Einhängung
              /root/namespaces/mnt angegeben wird. Dieses Beispiel zeigt eine portierbare Lösung,
              weil  es  sicherstellt,  dass  die  »bind«-Einhängung auf einem gemeinsam nutzbaren
              Dateisystem erstellt wird.

SIEHE AUCH

       clone(2), unshare(2), namespaces(7), mount(8)

AUTOREN

       Mikhail Gusarov ⟨dottedmag@dottedmag.net⟩
       Karel Zak ⟨kzak@redhat.com

VERFÜGBARKEIT

       Der   Befehl   unshare    ist    Teil    des    Pakets    util-linux    und    kann    von
       https://www.kernel.org/pub/linux/utils/util-linux/ heruntergeladen werden.

ÜBERSETZUNG

       Die    deutsche    Übersetzung   dieser   Handbuchseite   wurde   von   Helge   Kreutzmann
       <debian@helgefjell.de>,  Dr.  Tobias  Quathamer   <toddy@debian.org>   und   Chris   Leick
       <c.leick@vollbio.de> erstellt.

       Diese  Übersetzung  ist  Freie  Dokumentation;  lesen  Sie  die GNU General Public License
       Version  3  oder  neuer  bezüglich  der  Copyright-Bedingungen.  Es  wird  KEINE   HAFTUNG
       übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-
       Mail an <debian-l10n-german@lists.debian.org>.