Na minha máquina, eu tenho o Fedora 23 (Server) e o KDE 5.19. O SELinux está desativado. Além disso, tenho um volume inicial criptografado (usando o LUKS). Assim que o usuário efetua login no greeter SDDM, o volume criptografado é descriptografado e montado no diretório inicial do usuário. Para conseguir isso, usei pam_mount
e editei
/etc/pam.d/login
e /etc/pam.d/password-auth
da seguinte forma:
---------- /etc/pam.d/login
-----------
#%PAM-1.0
auth substack system-auth
auth include postlogin
auth optional pam_mount.so
account required pam_nologin.so
account include system-auth
password include system-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session required pam_loginuid.so
session optional pam_console.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open
session required pam_namespace.so
session optional pam_keyinit.so force revoke
session include system-auth
session include postlogin
-session optional pam_ck_connector.so
session optional pam_mount.so
------------ /etc/pam.d/password-auth
-------------
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_mount.so
auth required pam_env.so
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 1000 quiet_success
auth required pam_deny.so
auth required pam_env.so
account required pam_unix.so
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 1000 quiet
account required pam_permit.so
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password required pam_deny.so
session optional pam_winbind.so
session optional pam_keyinit.so revoke
session required pam_limits.so
-session optional pam_systemd.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
session optional pam_mount.so
Isso foi o suficiente para descriptografar e montar o volume se o usuário fizer login manualmente no greeter.
Agora, quero que o mesmo aconteça quando o autologin estiver ativado (estou ciente de que a criptografia e o login automático parecem sem sentido). Nas configurações do KDE, eu habilitei o autologin para o usuário. Infelizmente, o volume não é desfeito e não está montado. O usuário recebe apenas um diretório inicial padrão após o login automático.
A ideia óbvia era adicionar pam_mount.so
entradas a /etc/pam.d/sddm-autologin
. Mas o que quer que eu tente com sddm-autologin
, não tem efeito.
Em journalctl /usr/bin/sddm
, vejo as seguintes linhas:
localhost.localdomain sddm[859]: (pam_mount.c:365): pam_mount 2.15: entering auth stage
localhost.localdomain sddm[859]: (pam_mount.c:568): pam_mount 2.15: entering session stage
localhost.localdomain sddm[859]: (mount.c:263): Mount info: globalconf, user=MyUserName <volume fstype="crypt" server="(null)" path="/dev/homeVG/home-MyUserName" mountpoint="/home/MyUserName" cipher="(null)" fskeypath="(null)" fskeycipher="(null)" fskeyhash="(null)" options="fsck,noatime" /> fstab=0 ssh=0
localhost.localdomain sddm[859]: (mount.c:660): Password will be sent to helper as-is.
localhost.localdomain sddm[859]: command: 'mount' '-t' 'crypt' '-ofsck,noatime' '/dev/homeVG/home-MyUserName' '/home/MyUserName'
localhost.localdomain sddm[859]: (mount.c:68): Messages from underlying mount program:
localhost.localdomain sddm[859]: (mount.c:72): crypt_activate_by_passphrase: Operation not permitted
Alguém tem uma idéia de como descriptografar o volume e montá-lo no diretório pessoal do usuário também com um autologin?
Tags mount encryption kde pam fedora