]> git.ipfire.org Git - thirdparty/util-linux.git/blame - sys-utils/unshare.1
cal: in man page improve grammar and wording of the reformation limitation
[thirdparty/util-linux.git] / sys-utils / unshare.1
CommitLineData
4205f1fd
MG
1.\" Process this file with
2.\" groff -man -Tascii lscpu.1
3.\"
87ec43b6 4.TH UNSHARE 1 "July 2013" "util-linux" "User Commands"
4205f1fd 5.SH NAME
ef6acdb8 6unshare \- run program with some namespaces unshared from parent
4205f1fd
MG
7.SH SYNOPSIS
8.B unshare
87ec43b6 9.RI [ options ]
dde08a87 10.I program
4205f1fd
MG
11.RI [ arguments ]
12.SH DESCRIPTION
dde08a87 13Unshares the indicated namespaces from the parent process and then executes
87ec43b6
BS
14the specified program. The namespaces to be unshared are indicated via
15options. Unshareable namespaces are:
4205f1fd
MG
16.TP
17.BR "mount namespace"
dde08a87 18Mounting and unmounting filesystems will not affect the rest of the system
bc87f885 19(\fBCLONE_NEWNS\fP flag), except for filesystems which are explicitly marked as
dde08a87
BS
20shared (with \fBmount --make-shared\fP; see \fI/proc/self/mountinfo\fP for the
21\fBshared\fP flags).
c07f86e7
KZ
22
23It's recommended to use \fBmount --make-rprivate\fP or \fBmount --make-rslave\fP
24after \fBunshare --mount\fP to make sure that mountpoints in the new namespace
25are really unshared from parental namespace.
4205f1fd
MG
26.TP
27.BR "UTS namespace"
dde08a87
BS
28Setting hostname or domainname will not affect the rest of the system.
29(\fBCLONE_NEWUTS\fP flag)
4205f1fd
MG
30.TP
31.BR "IPC namespace"
dde08a87
BS
32The process will have an independent namespace for System V message queues,
33semaphore sets and shared memory segments. (\fBCLONE_NEWIPC\fP flag)
4205f1fd
MG
34.TP
35.BR "network namespace"
dde08a87
BS
36The process will have independent IPv4 and IPv6 stacks, IP routing tables,
37firewall rules, the \fI/proc/net\fP and \fI/sys/class/net\fP directory trees,
38sockets, etc. (\fBCLONE_NEWNET\fP flag)
4205f1fd 39.TP
bc7f9b95 40.BR "pid namespace"
dde08a87
BS
41Children will have a distinct set of PID to process mappings from their parent.
42(\fBCLONE_NEWPID\fP flag)
bc7f9b95
EB
43.TP
44.BR "user namespace"
dde08a87
BS
45The process will have a distinct set of UIDs, GIDs and capabilities.
46(\fBCLONE_NEWUSER\fP flag)
e41e0f95 47.PP
dde08a87 48See \fBclone\fR(2) for the exact semantics of the flags.
4205f1fd
MG
49.SH OPTIONS
50.TP
51.BR \-h , " \-\-help"
b4362b6f 52Display help text and exit.
4205f1fd 53.TP
ef6acdb8 54.BR \-i , " \-\-ipc"
dde08a87
BS
55Unshare the IPC namespace.
56.TP
57.BR \-m , " \-\-mount"
58Unshare the mount namespace.
4205f1fd 59.TP
ef6acdb8
KZ
60.BR \-n , " \-\-net"
61Unshare the network namespace.
bc7f9b95
EB
62.TP
63.BR \-p , " \-\-pid"
87ec43b6
BS
64Unshare the pid namespace.
65See also the \fB--fork\fP and \fB--mount-proc\fP options.
bc7f9b95 66.TP
dde08a87
BS
67.BR \-u , " \-\-uts"
68Unshare the UTS namespace.
69.TP
bc7f9b95
EB
70.BR \-U , " \-\-user"
71Unshare the user namespace.
5088ec33
MF
72.TP
73.BR \-f , " \-\-fork"
87ec43b6
BS
74Fork the specified \fIprogram\fR as a child process of \fBunshare\fR rather than
75running it directly. This is useful when creating a new pid namespace.
6728ca10 76.TP
87ec43b6 77.BR \-\-mount-proc "[=\fImountpoint\fP]"
6728ca10
KZ
78Just before running the program, mount the proc filesystem at the \fImountpoint\fP
79(default is /proc). This is useful when creating a new pid namespace. It also
80implies creating a new mount namespace since the /proc mount would otherwise
c07f86e7
KZ
81mess up existing programs on the system. The new proc filesystem is explicitly
82mounted as private (by MS_PRIVATE|MS_REC).
4205f1fd 83.SH SEE ALSO
8323d9fd 84.BR unshare (2),
c07f86e7
KZ
85.BR clone (2),
86.BR mount (8)
4205f1fd
MG
87.SH BUGS
88None known so far.
ef6acdb8 89.SH AUTHOR
4205f1fd
MG
90Mikhail Gusarov <dottedmag@dottedmag.net>
91.SH AVAILABILITY
601d12fb
KZ
92The unshare command is part of the util-linux package and is available from
93ftp://ftp.kernel.org/pub/linux/utils/util-linux/.