ssh runs PAM session hooks before they allocate a pty for the session. (That's because they allow multiplexed connections, and hence might run multiple ptys over the same same session). This means PAM modules cannot interactively ask the user for additional information as they deem fit. That's a problem for us, since generally during an SSH login no authentication token (aka "password") is supplied to us which we could use to unlock the user's home dir. With this commit we implement a way out: we allow the login to proceed, but without the home dir activated, and then override the user's shell with our fallback shell, which will ask for the user's password and then chainload the actual shell. This will of course only work if the login actually involves invoking the configured interactive shell of the user. For other logins (such as sftp or so), this cannot work, and they'll see an empty home dir instead.
System and Service Manager
Details
Most documentation is available on systemd's web site.
Assorted, older, general information about systemd can be found in the systemd Wiki.
Information about build requirements is provided in the README file.
Consult our NEWS file for information about what's new in the most recent systemd versions.
Please see the Code Map for information about this repository's layout and content.
Please see the Hacking guide for information on how to hack on systemd and test your modifications.
Please see our Contribution Guidelines for more information about filing GitHub Issues and posting GitHub Pull Requests.
When preparing patches for systemd, please follow our Coding Style Guidelines.
If you are looking for support, please contact our mailing list, join our IRC channel #systemd on libera.chat or Matrix channel
Stable branches with backported patches are available in the stable repo.
