summaryrefslogtreecommitdiffstats
path: root/man/systemd-mountfsd.service.xml
blob: 81d02d3d4f8031b7c3dcb05d87347101f31b6510 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->

<refentry id="systemd-mountfsd.service" conditional='ENABLE_MOUNTFSD'>

  <refentryinfo>
    <title>systemd-mountfsd.service</title>
    <productname>systemd</productname>
  </refentryinfo>

  <refmeta>
    <refentrytitle>systemd-mountfsd.service</refentrytitle>
    <manvolnum>8</manvolnum>
  </refmeta>

  <refnamediv>
    <refname>systemd-mountfsd.service</refname>
    <refname>systemd-mountfsd</refname>
    <refpurpose>Disk Image File System Mount Service</refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <para><filename>systemd-mountfsd.service</filename></para>
    <para><filename>/usr/lib/systemd/systemd-mountfsd</filename></para>
  </refsynopsisdiv>

  <refsect1>
    <title>Description</title>

    <para><command>systemd-mountfsd</command> is a system service that dissects disk images, and returns mount
    file descriptors for the file systems contained therein to clients, via a Varlink IPC API.</para>

    <para>The disk images provided must contain a raw file system image or must follow the <ulink
    url="https://uapi-group.org/specifications/specs/discoverable_partitions_specification/">Discoverable
    Partitions Specification</ulink>. Before mounting any file systems authenticity of the disk image is
    established in one or a combination of the following ways:</para>

    <orderedlist>
      <listitem><para>If the disk image is located in a regular file in one of the directories
      <filename>/var/lib/machines/</filename>, <filename>/var/lib/portables/</filename>,
      <filename>/var/lib/extensions/</filename>, <filename>/var/lib/confexts/</filename> or their
      counterparts in the <filename>/etc/</filename>, <filename>/run/</filename>,
      <filename>/usr/lib/</filename> it is assumed to be trusted.</para></listitem>

      <listitem><para>If the disk image contains a Verity enabled disk image, along with a signature
      partition with a key in the kernel keyring or in <filename>/etc/verity.d/</filename> (and related
      directories) the disk image is considered trusted.</para></listitem>
    </orderedlist>

    <para>This service provides one <ulink url="https://varlink.org/">Varlink</ulink> service:
    <constant>io.systemd.MountFileSystem</constant> which accepts a file descriptor to a regular file or
    block device, and returns a number of file descriptors referring to an <function>fsmount()</function>
    file descriptor the client may then attach to a path of their choice.</para>

    <para>The returned mounts are automatically allowlisted in the per-user-namespace allowlist maintained by
    <citerefentry><refentrytitle>systemd-nsresourced.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>

    <para>The file systems are automatically
    <citerefentry project='man-pages'><refentrytitle>fsck</refentrytitle><manvolnum>8</manvolnum></citerefentry>'ed
    before mounting.</para>
  </refsect1>

  <refsect1>
    <title>See Also</title>
    <para><simplelist type="inline">
      <member><citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry></member>
      <member><citerefentry><refentrytitle>systemd-nsresourced.service</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
    </simplelist></para>
  </refsect1>
</refentry>