Em vez de me registrar, PAM
me cumprimenta com a mensagem " Não é possível fazer / remover uma entrada para a sessão especificada " depois que eu inserir a senha. Que entrada está falando (e qual sessão)?
A string com a mensagem de erro é encontrada em libpam.so.0
(. 83.1).
Meu sistema é baseado em binários do Fedora release 20 (Heisenburg).
Como posso solucionar problemas do PAM para descobrir o que é necessário para fazer login com sucesso?
Eu não tenho syslog (e não há disco permanente, apenas um initramfs).
Atualizações:
O SELinux está desativado.
Estou mais do que disposto a substituir toda a configuração do PAM por algo simples que permita o login (usuário normal e root) somente nos consoles virtuais.
Código-fonte do Linux-PAM-1.1.8, libpam/pam_strerror.c
revela que a mensagem vem do código de erro PAM_SESSION_ERR
, que pode ser causado por todos os tipos de problemas internos, como erro de alocação de memória ou falha na localização o diretório inicial dos usuários. Tanto para tentar interpretar a mensagem de erro. : - (
Abaixo estão meus arquivos de configuração com base no comentário que indica /etc/pam.d/login
como ponto de partida:
(Eu também tentei remover todas as linhas contendo pam_loginuid.so
sem nenhuma diferença perceptível)
/etc/pam.d/login :
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
auth substack system-auth
auth include postlogin
account required pam_nologin.so
account include system-auth
password include system-auth
session required pam_selinux.so close
session required pam_loginuid.so
session optional pam_console.so
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
/etc/pam.d/postlogin :
session [success=1 default=ignore] pam_succeed_if.so service !~ gdm* service !~ su* quiet
session [default=1] pam_lastlog.so nowtmp showfailed
session optional pam_lastlog.so silent noupdate showfailed
/etc/pam.d/system-auth :
auth required pam_env.so
auth sufficient pam_fprintd.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
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_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
Eu tenho essas bibliotecas compartilhadas relacionadas ao PAM :
libpam_misc.so.0
libpam.so.0
pam_access.so
pam_console.so
pam_deny.so
pam_env.so
pam_fprintd.so
pam_gnome_keyring.so
pam_keyinit.so
pam_lastlog.so
pam_limits.so
pam_localuser.so
pam_loginuid.so
pam_namespace.so
pam_nologin.so
pam_permit.so
pam_pkcs11.so
pam_pwquality.so
pam_rootok.so
pam_securetty.so
pam_selinux_permit.so
pam_selinux.so
pam_sepermit.so
pam_succeed_if.so
pam_systemd.so
pam_timestamp.so
pam_unix_acct.so
pam_unix_auth.so
pam_unix.so
pam_xauth.so
e também aqueles referenciados pelas bibliotecas compartilhadas acima (de acordo com ldd
) :
libattr.so.1
libaudit.so.1
libcap.so.2
libcrack.so.2
libcrypt.so.1
libc.so.6
libdbus-1.so.3
libdbus-glib-1.so.2
libdl.so.2
libffi.so.6
libfreebl3.so
libgcc_s.so.1
libgio-2.0.so.0
libglib-2.0.so.0
libgmodule-2.0.so.0
libgobject-2.0.so.0
liblzma.so.5
libnsl.so.1
libnspr4.so
libnss3.so
libnssutil3.so
libpcre.so.1
libpcre.so.3
libplc4.so
libplds4.so
libpthread.so.0
libpwquality.so.1
libresolv.so.2
librt.so.1
libselinux.so.1
libsmime3.so
libssl3.so
libutil.so.1
libz.so.1