|
59 | 59 | <citerefentry><refentrytitle>systemd-logind.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>, |
60 | 60 | and hence the systemd control group hierarchy.</para> |
61 | 61 |
|
62 | | - <para>On login, this module ensures the following:</para> |
| 62 | + <para>On login, this module — in conjunction with <filename>systemd-logind.service</filename> — ensures the |
| 63 | + following:</para> |
63 | 64 |
|
64 | 65 | <orderedlist> |
65 | | - <listitem><para>If it does not exist yet, the user runtime |
66 | | - directory <filename>/run/user/$USER</filename> is created and |
67 | | - its ownership changed to the user that is logging |
68 | | - in.</para></listitem> |
69 | | - |
70 | | - <listitem><para>The <varname>$XDG_SESSION_ID</varname> |
71 | | - environment variable is initialized. If auditing is available |
72 | | - and <command>pam_loginuid.so</command> was run before this |
73 | | - module (which is highly recommended), the variable is |
74 | | - initialized from the auditing session id |
75 | | - (<filename>/proc/self/sessionid</filename>). Otherwise, an |
| 66 | + <listitem><para>If it does not exist yet, the user runtime directory <filename>/run/user/$UID</filename> is |
| 67 | + either created or mounted as new <literal>tmpfs</literal> file system with quota applied, and its ownership |
| 68 | + changed to the user that is logging in.</para></listitem> |
| 69 | + |
| 70 | + <listitem><para>The <varname>$XDG_SESSION_ID</varname> environment variable is initialized. If auditing is |
| 71 | + available and <command>pam_loginuid.so</command> was run before this module (which is highly recommended), the |
| 72 | + variable is initialized from the auditing session id (<filename>/proc/self/sessionid</filename>). Otherwise, an |
76 | 73 | independent session counter is used.</para></listitem> |
77 | 74 |
|
78 | | - <listitem><para>A new systemd scope unit is created for the |
79 | | - session. If this is the first concurrent session of the user, an |
80 | | - implicit slice below <filename>user.slice</filename> is |
81 | | - automatically created and the scope placed into it. An instance |
82 | | - of the system service < filename> [email protected]</ filename>, which |
83 | | - runs the systemd user manager instance, is started. |
84 | | - </para></listitem> |
| 75 | + <listitem><para>A new systemd scope unit is created for the session. If this is the first concurrent session of |
| 76 | + the user, an implicit per-user slice unit below <filename>user.slice</filename> is automatically created and the |
| 77 | + scope placed into it. An instance of the system service < filename> [email protected]</ filename>, which runs the |
| 78 | + systemd user manager instance, is started. </para></listitem> |
85 | 79 | </orderedlist> |
86 | 80 |
|
87 | 81 | <para>On logout, this module ensures the following:</para> |
88 | 82 |
|
89 | 83 | <orderedlist> |
90 | 84 | <listitem><para>If enabled in |
91 | 85 | <citerefentry><refentrytitle>logind.conf</refentrytitle> |
92 | | - <manvolnum>5</manvolnum></citerefentry>, all processes of the |
93 | | - session are terminated. If the last concurrent session of a user |
94 | | - ends, the user's systemd instance will be terminated too, and so |
95 | | - will the user's slice unit.</para></listitem> |
| 86 | + <manvolnum>5</manvolnum></citerefentry> (<varname>KillUserProcesses=</varname>), all processes of the session are |
| 87 | + terminated. If the last concurrent session of a user ends, the user's systemd instance will be terminated too, |
| 88 | + and so will the user's slice unit.</para></listitem> |
96 | 89 |
|
97 | 90 | <listitem><para>If the last concurrent session of a user ends, |
98 | 91 | the <varname>$XDG_RUNTIME_DIR</varname> directory and all its |
|
0 commit comments