.\" -*- coding: UTF-8 -*- .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH UNSHARE 1 "Februar 2016" util\-linux "Dienstprogramme für Benutzer" .SH BEZEICHNUNG unshare \- Programme ausführen, wobei einige Namensräume von dem Elternprozess getrennt sind .SH ÜBERSICHT \fBunshare\fP [Optionen] \fIProgramm\fP [\fIArgumente\fP] .SH BESCHREIBUNG Trennt die angegebenen Namensräume von dem Elternprozess und führt dann das angegebene \fIProgramm\fP aus. .PP Die Namensräume können wahlweise beständig gemacht werden, indem /proc/\fIPID\fP/ns/\fITyp\fP\-Dateien mit »bind« in einen Dateisystempfad eingebunden und mit \fB\%nsenter\fP(1) betreten werden, sogar, wenn das \fIProgramm\fP beendet wird. Sobald ein beständiger \%Namensraum nicht länger benötigt wird, kann die Beständigkeit mit \fBumount\fP(8) aufgehoben werden. Weitere Einzelheiten finden Sie im Abschnitt \fBBEISPIELE\fP. .PP Die Namensräume, die getrennt werden sollen, werden über Optionen angegeben. Trennbare Namensräume sind: .TP \fBEinhänge\-Namensraum\fP 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 \fBmount \-\-make\-shared\fP; siehe \fI/proc/self/mountinfo\fP oder \fBfindmnt \-o+PROPAGATION\fP für die \fBshared\fP\-Schalter). Für weitere Details siehe \fBmount_namespaces\fP(7) und die Diskussion des Schalters \fBCLONE_NEWNS\fP in \fBclone\fP(2). .sp Seit Util\-Linux Version 2.27 setzt \fBunshare\fP die Ausbreitung in einem neuen Einhängenamensraum auf \fBprivate\fP, um sicherzustellen, dass der neue Namensraum wirklich getrennt ist. Diese Funktionalität kann mit der Option \fB\-\-propagation unchanged\fP deaktiviert werden. Beachten Sie, dass \fBprivate\fP die Vorgabe des Kernels ist. .TP \fBUTS\-Namensraum\fP Setzen des Rechner\- oder Domain\-Namens wird den Rest des Systems nicht betreffen. Für weitere Details siehe \fBnamespaces\fP(7) und die Diskussion des Schalters \fBCLONE_NEWUTS\fP in \fBclone\fP(2). .TP \fBIPC\-Namensraum\fP 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 \fBnamespaces\fP(7) und die Diskussion des Schalters \fBCLONE_NEWIPC\fP in \fBclone\fP(2). .TP \fBNetz\-Namensraum\fP Der Prozess wird über unabhängige IPv4\- und IPv6\-Stapel, IP\-Routing\-Tabellen, Firewall\-Regeln, die Verzeichnisbäume \fI/proc/net\fP und \fI/sys/class/net\fP usw. verfügen. Für weitere Details siehe \fBnamespaces\fP(7) und die Diskussion des Schalters \fBCLONE_NEWNET\fP in \fBclone\fP(2). .TP \fBPID\-Namensraum\fP Kindprozesse werden eine eigene Gruppe von Abbildungen der PIDs zu Prozessen haben. Für weitere Details siehe \fBpid_namespaces\fP(7) und die Diskussion des Schalters \fBCLONE_NEWPID\fP in \fBclone\fP(2). .TP \fBCgroup\-Namensraum\fP Der Prozess wird über einen virtualisierten Blick auf \fI/proc\:/self\:/cgroup\fP verfügen und neue Cgroup\-Einhängungen werden ihre Wurzel in der Wurzel der Cgroup\-Namensraum\-Wurzel haben. Für weitere Details siehe \fBcgroup_namespaces\fP(7) und die Diskussion des Schalters \fBCLONE_NEWCGROUP\fP in \fBclone\fP(2). .TP \fBBenutzer\-Namensraum\fP Der Prozess wird über eine eindeutige Gruppe an UIDs, GIDS und Capabilities verfügen. Für weitere Details siehe \fBuser_namespaces\fP(7) und die Diskussion des Schalters \fBCLONE_NEWUSER\fP in \fBclone\fP(2). .SH OPTIONEN .TP \fB\-i\fP,\fB \-\-ipc\fP[\fB=\fP\fIDatei\fP] Trennen des IPC\-Namensraums. Falls \fIDatei\fP angegeben ist, wird ein beständiger Namensraum mit einer »bind«\-Einhängung erstellt. .TP \fB\-m\fP,\fB \-\-mount\fP[\fB=\fP\fIDatei\fP] Hebt die Freigabe des eingehängten Namensraums auf. Falls \fIDatei\fP angegeben ist, wird ein beständiger Namensraum durch ein Einhängen mit »bind« erstellt. Beachten Sie, dass \fIDatei\fP auf einem Dateisystem liegen muss, bei dem der Ausbreitungsschalter auf \fBprivate\fP gesetzt ist. Verwenden Sie den Befehl \fBfindmnt \-o+PROPAGATION\fP, wenn Sie sich bezüglich der derzeitigen Einstellung nicht sicher sind. Lesen Sie auch die nachfolgenden Beispiele. .TP \fB\-n\fP,\fB \-\-net\fP[\fB=\fP\fIDatei\fP] Trennen des Netz\-Namensraums. Falls \fIDatei\fP angegeben ist, wird ein beständiger Namensraum mit einer »bind«\-Einhängung erstellt. .TP \fB\-p\fP,\fB \-\-pid\fP[\fB=\fP\fIDatei\fP] Trennen des PID\-Namensraums. Falls \fIDatei\fP angegeben ist, wird ein beständiger Namensraum mit einer »bind«\-Einhängung erstellt. Siehe auch die Optionen \fB\-\-fork\fP und \fB\-\-mount\-proc\fP. .TP \fB\-u\fP,\fB \-\-uts\fP[\fB=\fP\fIDatei\fP] Trennen des UTS\-Namensraums. Falls \fIDatei\fP angegeben ist, wird ein beständiger Namensraum mit einer »bind«\-Einhängung erstellt. .TP \fB\-U\fP,\fB \-\-user\fP[\fB=\fP\fIDatei\fP] Trennen des Benutzer\-Namensraums. Falls \fIDatei\fP angegeben ist, wird ein beständiger Namensraum mit einer »bind«\-Einhängung erstellt. .TP \fB\-C\fP,\fB \-\-cgroup\fP[=\fIDatei\fP] Trennen des Cgroup\-Namensraums. Falls \fIDatei\fP angegeben ist, wird ein beständiger Namensraum mit einer »bind«\-Einhängung erstellt. .TP \fB\-f\fP,\fB \-\-fork\fP Verzweigt das angegebene \fIProgramm\fP als Kindprozess von \fBunshare\fP, anstatt es direkt auszuführen. Dies ist nützlich, wenn eine neuer PID\-Namensraum erstellt wird. .TP \fB\-\-mount\-proc\fP[\fB=\fP\fIEinhängepunkt\fP] Direkt vor Ausführung des Programms wird das proc\-Dateisystem unter \fIEinhängepunkt\fP (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). .TP \fB\-r\fP,\fB \-\-map\-root\-user\fP Führt das Programm erst aus, wenn die effektive Benutzer\- und Gruppenkennungen 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 \fB\-\-setgroups=deny\fP. .TP \fB\-\-propagation private\fP|\fBshared\fP|\fBslave\fP|\fBunchanged\fP Setzt den Einhängeausbreitungsschalter in dem neuen Einhängenamensraum rekursiv. Die Vorgabe ist, die Ausbreitung auf \fIprivate\fP zu setzen. Es ist möglich, diese Funktionalität mit dem Argument \fBunchanged\fP zu deaktivieren. Diese Option wird ohne Rückmeldung ignoriert, wenn der Einhängenamensraum (\fB\-\-mount\fP) nicht angefordert wird. .TP \fB\-\-setgroups allow\fP|\fBdeny\fP Erlaubt oder verweigert den Systemaufruf \fBsetgroups\fP(2) in Benutzer\-Namensräumen. .sp Um \fBsetgroups\fP(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, \fB\%setgroups\fP(2) aufzurufen, nur nachdem die GID\-Abbildung (\fB/proc/\fP\fIpid\fP\fB/gid_map\fP) eingerichtet wurde. Die GID\-Abbildung ist durch Root beschreibbar, wenn \fB\%setgroups\fP(2) aktiviert ist (d.h. \fBallow\fP, die Vorgabe) und die GID\-Abbildung wird durch unprivilegierte Prozesse beschreibbar, wenn \fB\%setgroups\fP(2) permanent deaktiviert ist (mit \fBdeny\fP). .TP \fB\-V\fP,\fB \-\-version\fP zeigt Versionsinformationen an und beendet das Programm. .TP \fB\-h\fP,\fB \-\-help\fP zeigt diese Hilfe an und beendet das Programm. .SH BEISPIELE .TP \fB# unshare \-\-fork \-\-pid \-\-mount\-proc readlink /proc/self\fP .TQ 1 .br Etabliert einen PID\-Namensraum und stellt sicher, dass er PID 1 gegen eine darin frisch eingehängte Procfs\-Instanz ist. .TP \fB$ unshare \-\-map\-root\-user \-\-user sh \-c whoami\fP .TQ root .br Etabliert einen user\-Namensraum als unprivilegierten Benutzer mit einem Benutzer »root« darin. .TP \fB# touch /root/uts\-ns\fP .TQ \fB# unshare \-\-uts=/root/uts\-ns Rechnername FOO\fP .TQ \fB# nsenter \-\-uts=/root/uts\-ns Rechnername\fP .TQ FOO .TQ \fB# umount /root/uts\-ns\fP .br Etabliert einen dauerhaften UTS\-Namensraum und verändert den Rechnernamen. Der Namensraum wird mit \fBnsenter\fP betreten. Der Namensraum wird durch Aushängen der »bind«\-Referenz zerstört. .TP \fB# mount \-\-bind /root/namespaces /root/namespaces\fP .TQ \fB# mount \-\-make\-private /root/namespaces\fP .TQ \fB# touch /root/namespaces/mnt\fP .TQ \fB# unshare \-\-mount=/root/namespaces/mnt\fP .br 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. .SH "SIEHE AUCH" \fBclone\fP(2), \fBunshare\fP(2), \fBnamespaces\fP(7), \fBmount\fP(8) .SH AUTOREN .UR dottedmag@dottedmag.net Mikhail Gusarov .UE .br .UR kzak@redhat.com Karel Zak .UE .SH VERFÜGBARKEIT Der Befehl unshare ist Teil des Pakets util\-linux und kann von ftp://ftp.kernel.org/pub/linux/utils/util\-linux/ heruntergeladen werden. .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Chris Leick , Dr. Tobias Quathamer und Helge Kreutzmann 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 .