sddm + pam_kwallet5 + pam_usb = “open_session chamado sem kwallet5_key”

0

Com o pam_usb configurado e em execução, quando a chave usb é conectada quando digito uma senha no SDDM, após o Plasma ser iniciado, vejo que o kwallet não está desbloqueado. Isso não acontece quando a tecla usb é inserida após eu efetuei o login. Quando o problema aparece, posso ver a mensagem no log:

18 00:05:01 rocket sddm-helper[3172]: pam_kwallet(sddm:session): (null): pam_sm_open_session
18 00:05:01 rocket sddm-helper[3172]: pam_kwallet(sddm:session): pam_kwallet: open_session called without kwallet_key
18 00:05:01 rocket sddm-helper[3172]: pam_kwallet5(sddm:session): (null): pam_sm_open_session
18 00:05:01 rocket sddm-helper[3172]: pam_kwallet5(sddm:session): pam_kwallet5: open_session called without kwallet5_key

Aqui estão os arquivos pam relacionados:

cat /etc/pam.d/common-auth|grep -v "^#"

auth    sufficient      pam_usb.so
auth    [success=1 default=ignore]      pam_unix.so nullok_secure try_first_pass
auth    requisite                       pam_deny.so
auth    required                        pam_permit.so

cat /etc/pam.d/sddm|grep -v "^#"

auth    requisite       pam_nologin.so
auth    required        pam_succeed_if.so user != root quiet_success

@include common-auth
-auth   optional        pam_gnome_keyring.so
-auth   optional        pam_kwallet.so
-auth   optional        pam_kwallet5.so

@include common-account

session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so close
session optional        pam_keyinit.so force revoke
session required        pam_limits.so
session required        pam_loginuid.so
session required        pam_systemd.so
@include common-session
session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so open
-session optional       pam_gnome_keyring.so auto_start
-session optional       pam_kwallet.so auto_start
-session optional       pam_kwallet5.so auto_start

@include common-password


session required        pam_env.so

session required        pam_env.so envfile=/etc/default/locale

Como posso configurar o pam_usb e o pam_kwallet (5) para morarem juntos?

    
por Grief 17.09.2016 / 23:20

1 resposta

0

Não encontrei nada melhor que:

cat /etc/pam.d/common-auth

auth sufficient pam_usb.so
@include common-auth-nousb

cat /etc/pam.d/common-auth-nousb

auth    [success=1 default=ignore]      pam_unix.so nullok_secure try_first_pass
auth    requisite                       pam_deny.so
auth    required                        pam_permit.so

head /etc/pam.d/sddm

#%PAM-1.0

# Block login if they are globally disabled
auth    requisite       pam_nologin.so
auth    required        pam_succeed_if.so user != root quiet_success

# auth    sufficient      pam_succeed_if.so user ingroup nopasswdlogin
@include common-auth-nousb
# gnome_keyring breaks QProcess
-auth   optional        pam_gnome_keyring.so

Isso torna pam-auth-update inútil, mas atinge o objetivo: agora eu posso inicializar com o pen drive inserido sem a necessidade de desbloquear o kwallet manualmente.

    
por Grief 19.09.2016 / 22:55