O que significa “Não é possível criar / remover uma entrada para a sessão especificada”?

1

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
    
por MattBianco 25.08.2014 / 17:42

1 resposta

1

No meu caso, estou no Centos 6 e encontrei isso em / var / log / secure:

Mar 13 10:13:02 server sudo(pam_google_authenticator)[24911]: Unrecognized option "user=root"
Mar 13 10:13:02 server sudo:    ralph : pam_authenticate: Cannot make/remove an entry for the specified session ; TTY=pts/2 ; PWD=/home/ralph ; USER=root ; COMMAND=/usr/local/bin/become root

Por fim, foi o avanço do módulo do GA PAM, que o PAM não sabe o que fazer com ele, por isso erros. Tenho certeza que muitos outros problemas com módulos PAM diferentes podem causar o mesmo comportamento (não apenas o Google Authenticator). Algum tipo de log é provavelmente a única maneira de descobrir o que está acontecendo.

    
por 13.03.2018 / 11:20