O primeiro processo em uma sessão pam_systemd
é chamado de Leader
. Por exemplo. pode ser morto com loginctl --kill-who=leader kill-session SESSION_ID
.
pam_systemd
coloca o líder em uma unidade de escopo de sessão. Curiosamente, se este é o processo principal de um serviço systemd, isso significa que o processo deixa o cgroup do serviço; O systemd suporta explicitamente isso. No entanto, o líder também pode optar por escapar do escopo da sessão.
User=root
PAMName=i-wanna-be-a-systemd-logind-session
ExecStart=/usr/bin/systemd-run --scope --unit=not-a-session.scope sleep 600
Isso deve deixar um processo filho chamado (sd-pam)
no escopo da sessão, que executa o pam_session_close () quando o pai é finalizado. Assim, a unidade de escopo da sessão permanecerá ativa.
Acho que isso também deve ser possível com um usuário não-privilegiado e systemd-run --user --scope
.
Se o usuário não fizer uma solicitação explicitamente em relação ao Leader
, ex .: com loginctl
, essas travessuras teriam algum significado? O que eu realmente estou querendo saber é se isso poderia quebrar alguma coisa.
O valor Leader
é realmente usado para qualquer coisa, ou é principalmente para fins de exibição? Existe algum raciocínio conhecido ou caso de uso para suportar loginctl --kill-who=leader kill-session SESSION_ID
, que possa lançar luz sobre esta questão?