X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Fpam_systemd.xml;h=f973899b2fafe253d16fb27c29cb901ae701375b;hp=208c7da1c4f1948081a2c1296d8333e2ca5c46e0;hb=9541666b8d97f107335dd7e3cb93b4d2cfbf19c9;hpb=0e318cad06d483624076777c105bdcdd6aca3596 diff --git a/man/pam_systemd.xml b/man/pam_systemd.xml index 208c7da1c..f973899b2 100644 --- a/man/pam_systemd.xml +++ b/man/pam_systemd.xml @@ -8,20 +8,20 @@ Copyright 2010 Lennart Poettering systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or + under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. systemd is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with systemd; If not, see . --> - + pam_systemd @@ -44,21 +44,20 @@ pam_systemd - Register user sessions in the systemd control group hierarchy + Register user sessions in the systemd login manager - - pam_systemd.so - + pam_systemd.so Description pam_systemd registers user - sessions in the systemd control group - hierarchy. + sessions with the systemd login manager + systemd-logind.service8, + and hence the systemd control group hierarchy. On login, this module ensures the following: @@ -69,8 +68,7 @@ created and its ownership changed to the user that is logging in. - If - is set, the + The $XDG_SESSION_ID environment variable is initialized. If auditing is available and @@ -82,64 +80,32 @@ an independent session counter is used. - If - is set, a new - control group - /user/$USER/$XDG_SESSION_ID - is created and the login process moved into - it. - - If - is set, a new - control group - /user/$USER/user - is created and the login process moved into - it. - + A new systemd scope unit is + created for the session. If this is the first + concurrent session of the user, an implicit + slice below user.slice is + automatically created and the scope placed in + it. In instance of the system service + user@.service which runs + the systemd user manager + instance. On logout, this module ensures the following: - If - $XDG_SESSION_ID is set and - specified, all - remaining processes in the - /user/$USER/$XDG_SESSION_ID - control group are killed and the control group - is removed. - - If - $XDG_SESSION_ID is set and - specified, all - remaining processes in the - /user/$USER/$XDG_SESSION_ID - control group are migrated to - /user/$USER/user and - the original control group is - removed. - - If - is specified, and - no other user session control group remains, - except - /user/$USER/user, - all remaining processes in the - /user/$USER hierarchy - are killed and the control group is removed. - - If - is specified, and - no process remains in the - /user/$USER hierarchy the - control group is removed. - - If the - /user/$USER control group - was removed the + If this is enabled, all + processes of the session are terminated. If + the last concurrent session of a user ends, his + user systemd instance will be terminated too, + and so will the user's slice + unit. + + If the last concurrent session + of a user ends, the $XDG_RUNTIME_DIR directory - and all its contents are - removed, too. + and all its contents are removed, + too. If the system was not booted up with systemd as @@ -153,148 +119,49 @@ The following options are understood: - - - - - Takes a boolean - argument. If true, a new session is - created: the - $XDG_SESSION_ID - environment variable is set and the - login process moved to the - /user/$USER/$XDG_SESSION_ID - control group. It is recommended that - all services which are directly created - on the user's behalf set this - option. Only for services that shall - automatically be terminated when the - user logs out completely, otherwise - create-session=0 - should be set. - + - - - Takes a boolean - argument. If true, all processes - created by the user during his session - and from his session will be - terminated when he logs out from his - session. + + + Takes a string + argument which sets the session class. + The XDG_SESSION_CLASS environmental variable + takes precedence. One of + user, + greeter, + lock-screen or + background. See + sd_session_get_class3 + for details about the session class. - - - Takes a boolean - argument. If true, all processes - created by the user during his session - and from his session will be - terminated after he logged out - completely. This is a weaker version - of and is - more friendly for users logged in more - than once, as their processes are - terminated only on their complete - logout. + + + Takes a string + argument which sets the session type. + The XDG_SESSION_TYPE environmental + variable takes precedence. One of + unspecified, + tty, + x11, + wayland or + mir. See + sd_session_get_type3 + for details about the session type. - - - Takes a comma - separated list of user names or - numeric user ids as argument. If this - option is used the effect of the - and - options - will apply only to the listed - users. If this option is not used the - option applies to all local - users. Note that - - takes precedence over this list and is - hence subtracted from the list - specified here. - + - - - - Takes a comma - separated list of user names or - numeric user ids as argument. Users - listed in this argument will not be - subject to the effect of - or - . Note - that that this option takes precedence - over - , and - hence whatever is listed for - - is guaranteed to never be killed by - this PAM module, independent of any - other configuration - setting. - - - - - - Takes a comma - separated list of cgroup controllers - in which hierarchies a user/session - cgroup will be created by default for - each user logging in, in addition to - the cgroup in the named 'name=systemd' - hierarchy. If ommited, defaults to an - empty list. This may be used to move - user sessions into their own groups in - the 'cpu' hierarchy which ensures that - every logged in user gets an equal - amount of CPU time regardless how many - processes he has - started. - - - - - - Takes a comma - separated list of cgroup controllers - in which hierarchies the logged in - processes will be reset to the root - cgroup. If ommited, defaults to 'cpu', - meaning that a 'cpu' cgroup grouping - inherited from the login manager will - be reset for the processes of the - logged in user. - - - - - - Takes a boolean - argument. If true, logs debugging - information. + Takes an optional + boolean argument. If yes or without + the argument, the module will log + debugging information as it + operates. - - Note that setting kill-user=1 - or even kill-session=1 will break - tools like - screen1. - - If the options are omitted they default to - , - , - , - , - , - . @@ -308,12 +175,12 @@ The following environment variables are set for the processes of the user's session: - + $XDG_SESSION_ID A session identifier, - suitable to be used in file names. The + suitable to be used in filenames. The string itself should be considered opaque, although often it is just the audit session ID as reported by @@ -342,13 +209,13 @@ in again, the directory contents will have been lost in between, but applications should not rely on this - behaviour and must be able to deal with + behavior and must be able to deal with stale files. To store session-private - data in this directory the user should + data in this directory, the user should include the value of $XDG_SESSION_ID in the filename. This directory shall be used for runtime file system - objects such as AF_UNIX sockets, + objects such as AF_UNIX sockets, FIFOs, PID files and similar. It is guaranteed that this directory is local and offers the greatest possible @@ -356,6 +223,66 @@ operating system provides. + + + + The following environment variables are read by + the module and may be used by the PAM service to pass + metadata to the module: + + + + $XDG_SESSION_TYPE + + The session type. This + may be used instead of + on the + module parameter line, and is usually + preferred. + + + + $XDG_SESSION_CLASS + + The session class. This + may be used instead of + on the + module parameter line, and is usually + preferred. + + + + $XDG_SESSION_DESKTOP + + The session + deskop. This may be used to indicate + the session desktop used, where this + applies. This should be a short, + lowercase string identifying the + desktop environment used if this + information is available. For example: + gnome, or + kde. + + + + $XDG_SEAT + + The seat name the session + shall be registered for, if + any. + + + + $XDG_VTNR + + The VT number the + session shall be registered for, if + any. (Only applies to seats with a VT + available, such as + seat0) + + @@ -369,17 +296,23 @@ account required pam_unix.so password required pam_unix.so session required pam_unix.so session required pam_loginuid.so -session required pam_systemd.so kill-user=1 +session required pam_systemd.so See Also + systemd1, + systemd-logind.service8, + logind.conf5, + loginctl1, pam.conf5, pam.d5, pam8, pam_loginuid8, - systemd1 + systemd.scope5, + systemd.slice5, + systemd.service5