SSH를 사용하여 서버에 루트로 로그인하면 이렇게 하라는 지시가 있기 때문에 0
항목이 생성됩니다 . 이는 uid 0에 대한 사용자 세션이 시작되었음을 나타냅니다./var/run/user
pam_systemd
systemd-logind
그런 다음 을 실행하면 su jack
여전히 0
; /var/run/user
이 회의에 대한 항목이 없습니다.
그러나 journalctl
PAM 세션이 열려 있고 추가된 가 /etc/pam.d/su
포함되어 있음 을 보여줍니다 . 그래서 사용자 세션을 만들어야 한다고 생각합니다.common-session
session optional pam_systemd.so
su
사용자 세션을 생성하는 방법은 무엇입니까 ?
관련이 있다면 Debian 11을 사용하고 있습니다.
답변1
현재 프로세스가 이미 기존 세션의 구성원인 경우 PAM 모듈은 세션을 생성하지 않습니다. 기존 세션에서 세션을 생성하는 다음 해결 방법을 찾았습니다.
systemd-run --system --scope \
su -l
기본적으로 su -l
현재 사용자 세션의 일부가 아닌 시스템 전체 범위에서 실행 중이므로 PAM 모듈은 su -l
해당 프로세스에 대한 세션을 생성합니다. 프로세스가 세션으로 이동되면 임시 범위는 비어 있고 삭제됩니다.
유일한 문제는 현재 사용자가 시스템 수준에서 범위를 생성할 수 있는 권한이 있어야 하며 두 번 인증해야 한다는 것입니다. 한 번은 범위 생성을 인증하기 위해 현재 사용자로 인증하고, 그런 다음 세션을 생성하는 사용자로 다시 인증해야 합니다. 을 위한 .