Hello,

if I try to sum up all of your answers, I come to the following understanding :

- sessions are always created via the pam_systemd module
- which is, in my case called (sshd, crond) via the password-auth stack include
- so crond, through pam_systemd will cause a session to be created
- such session is created via the sd-pam helper responsible for pam_open_session() and pam_close_session() calls
- such a worker is started by a systemd --user instance
- so a user crontab will ultimately cause the use of the already running systemd --user instance of the user (because his logged in or is lingered) OR the creation of a systemd --user instance for the purpose of the crond session creation

What I still don't quite get is :

- is it sd-pam or systemd --user or user@<uid>.service holding them which uses the systemd-user pam service name ?

- my understanding was that pam service name is passed to pam_start() : in the user crontab case, my guess is that crond does this call with the crond service name (so pam knows what module stacks to run). So this would mean something like the user@<uid>.service (or sd-pam) would itself call pam_start(systemd-user, ...) when called by pam_systemd ?

So basically pam_systemd module would trigger another service which itself would go through pam with the systemd-user service name ?

- again, why is a first ssh login session able to create the user session without the user having to be listed for systemd-user in access.conf whereas crond semmes to need it (givent no systemd --user was previously running in both cases) ?

Thanks for your help

--
Thomas HUMMEL
_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to