summaryrefslogtreecommitdiffstats
path: root/man2/mount_setattr.2
diff options
context:
space:
mode:
Diffstat (limited to 'man2/mount_setattr.2')
-rw-r--r--man2/mount_setattr.276
1 files changed, 38 insertions, 38 deletions
diff --git a/man2/mount_setattr.2 b/man2/mount_setattr.2
index 3b70dcd97..f93132d42 100644
--- a/man2/mount_setattr.2
+++ b/man2/mount_setattr.2
@@ -24,7 +24,7 @@ Standard C library
glibc provides no wrapper for
.BR mount_setattr (),
necessitating the use of
-.BR syscall (2).
+.MR syscall 2 .
.SH DESCRIPTION
The
.BR mount_setattr ()
@@ -53,7 +53,7 @@ then the mount properties of the mount identified by
.I dirfd
are changed.
(See
-.BR openat (2)
+.MR openat 2
for an explanation of why the
.I dirfd
argument is useful.)
@@ -274,7 +274,7 @@ they are nonetheless passed in
and
.I attr_clr
for consistency with
-.BR fsmount (2),
+.MR fsmount 2 ,
which introduced this behavior.
.IP
Note that,
@@ -382,7 +382,7 @@ Turn all mounts into dependent mounts.
Turn all mounts into unbindable mounts.
.P
For further details on the above propagation types, see
-.BR mount_namespaces (7).
+.MR mount_namespaces 7 .
.SH RETURN VALUE
On success,
.BR mount_setattr ()
@@ -553,10 +553,10 @@ A new mount and user namespace pair is created.
This happens for example when specifying
.B CLONE_NEWUSER | CLONE_NEWNS
in
-.BR unshare (2),
-.BR clone (2),
+.MR unshare 2 ,
+.MR clone 2 ,
or
-.BR clone3 (2).
+.MR clone3 2 .
The aforementioned flags become locked in the new mount namespace
to prevent sensitive mount properties from being altered.
Since the newly created mount namespace will be owned by the
@@ -603,7 +603,7 @@ the ID mapping of the mount will be applied to
user and group IDs associated with filesystem objects.
This encompasses the user and group IDs associated with inodes
and also the following
-.BR xattr (7)
+.MR xattr 7
keys:
.IP \[bu] 3
.IR security.capability ,
@@ -613,7 +613,7 @@ are stored or returned in the
format,
which stores a root user ID alongside the capabilities
(see
-.BR capabilities (7)).
+.MR capabilities 7 ).
.IP \[bu]
.I system.posix_acl_access
and
@@ -640,16 +640,16 @@ Currently, the following filesystems support ID-mapped mounts:
.RS
.IP \[bu] 3
.PD 0
-.BR xfs (5)
+.MR xfs 5
(since Linux 5.12)
.IP \[bu]
-.BR ext4 (5)
+.MR ext4 5
(since Linux 5.12)
.IP \[bu]
.B FAT
(since Linux 5.12)
.IP \[bu]
-.BR btrfs (5)
+.MR btrfs 5
(since Linux 5.15)
.\" commit 5b9b26f5d0b88b74001dcfe4ab8a8f2f4e744112
.IP \[bu]
@@ -679,14 +679,14 @@ The mount must not have any writers.
The mount must be a detached mount;
that is,
it must have been created by calling
-.BR open_tree (2)
+.MR open_tree 2
with the
.B OPEN_TREE_CLONE
flag and it must not already have been visible in a mount namespace.
(To put things another way:
the mount must not have been attached to the filesystem hierarchy
with a system call such as
-.BR move_mount (2).)
+.MR move_mount 2 .)
.P
ID mappings can be created for user IDs, group IDs, and project IDs.
An ID mapping is essentially a mapping of a range of user or group IDs into
@@ -709,7 +709,7 @@ all files owned by that unmapped user or group ID will appear as
being owned by the overflow user ID or overflow group ID respectively.
.P
Further details on setting up ID mappings can be found in
-.BR user_namespaces (7).
+.MR user_namespaces 7 .
.P
In the common case, the user namespace passed in
.I userns_fd
@@ -720,7 +720,7 @@ in
to create an ID-mapped mount will be the user namespace of a container.
In other scenarios it will be a dedicated user namespace associated with
a user's login session as is the case for portable home directories in
-.BR systemd-homed.service (8)).
+.MR systemd-homed.service 8 ).
It is also perfectly fine to create a dedicated user namespace
for the sake of ID mapping a mount.
.P
@@ -732,7 +732,7 @@ between multiple users or multiple machines,
especially in complex scenarios.
For example,
ID-mapped mounts are used to implement portable home directories in
-.BR systemd-homed.service (8),
+.MR systemd-homed.service 8 ,
where they allow users to move their home directory
to an external storage device
and use it on multiple computers
@@ -743,13 +743,13 @@ assign random user IDs and group IDs at login time.
Sharing files or filesystems
from the host with unprivileged containers.
This allows a user to avoid having to change ownership permanently through
-.BR chown (2).
+.MR chown 2 .
.IP \[bu]
ID mapping a container's root filesystem.
Users don't need to change ownership permanently through
-.BR chown (2).
+.MR chown 2 .
Especially for large root filesystems, using
-.BR chown (2)
+.MR chown 2
can be prohibitively expensive.
.IP \[bu]
Sharing files or filesystems
@@ -760,7 +760,7 @@ for filesystems lacking a concept of ownership.
.IP \[bu]
Efficiently changing ownership on a per-mount basis.
In contrast to
-.BR chown (2),
+.MR chown 2 ,
changing ownership of large sets of files is instantaneous with
ID-mapped mounts.
This is especially useful when ownership of
@@ -775,7 +775,7 @@ Taking the current ownership into account.
ID mappings specify precisely
what a user or group ID is supposed to be mapped to.
This contrasts with the
-.BR chown (2)
+.MR chown 2
system call which cannot by itself
take the current ownership of the files it changes into account.
It simply changes the ownership to the specified user ID and group ID.
@@ -786,7 +786,7 @@ restricting the ownership changes to specific mounts,
and temporarily as the ownership changes only apply as long as the mount exists.
By contrast,
changing ownership via the
-.BR chown (2)
+.MR chown 2
system call changes the ownership globally and permanently.
.\"
.SS Extensibility
@@ -803,11 +803,11 @@ acting as an implicit version number.
(Because new extension fields will always
be appended, the structure size will always increase.)
This extensibility design is very similar to other system calls such as
-.BR perf_setattr (2),
-.BR perf_event_open (2),
-.BR clone3 (2)
+.MR perf_setattr 2 ,
+.MR perf_event_open 2 ,
+.MR clone3 2
and
-.BR openat2 (2).
+.MR openat2 2 .
.P
Let
.I usize
@@ -873,7 +873,7 @@ struct mount_attr attr = {
.in
.P
Alternatively, the structure can be zero-filled using
-.BR memset (3)
+.MR memset 3
or similar functions:
.P
.in +4n
@@ -1043,13 +1043,13 @@ main(int argc, char *argv[])
.EE
.\" SRC END
.SH SEE ALSO
-.BR newgidmap (1),
-.BR newuidmap (1),
-.BR clone (2),
-.BR mount (2),
-.BR unshare (2),
-.BR proc (5),
-.BR capabilities (7),
-.BR mount_namespaces (7),
-.BR user_namespaces (7),
-.BR xattr (7)
+.MR newgidmap 1 ,
+.MR newuidmap 1 ,
+.MR clone 2 ,
+.MR mount 2 ,
+.MR unshare 2 ,
+.MR proc 5 ,
+.MR capabilities 7 ,
+.MR mount_namespaces 7 ,
+.MR user_namespaces 7 ,
+.MR xattr 7