Как передать пароль в PAM, как это делают менеджеры дисплея?
Вопрос в том, как менеджеры дисплеев, такие как SDDM и GDM, предоставляют пароль, введенный пользователем, в систему PAM? Причина, по которой я хочу понять, заключается в том, что я хочу разблокировать брелок gnome и kwallet, которые защищены одним и тем же паролем в то же время, когда включена функция автоматического входа SDDM.
Я хотел бы получить пароль где-нибудь с USB-накопителя или что-то в этом роде из сценария и передать его в PAM, чтобы pam_gnomekeyring.so и pam_kwallet.so выполняли всю магию, разблокируя соответствующие хранилища паролей.
Я не хочу устанавливать для них пустой пароль, хотя это может быть самым простым способом. Но если оставить их в зашифрованном виде, можно сохранить сохраненные в них пароли от пользователя, который включит компьютер, но у которого нет USB-накопителя с паролем, хранящимся на нем.
Я попытался заглянуть в исходный код SDDM, и кажется, что волшебство происходит где-то в https://github.com/sddm/sddm/blob/develop/src/helper/backend/PamBackend.cpp но я не понимаю, где именно так.