Não é possível fazer login no protetor de tela bloqueado, é necessário fazer login com "alternar usuário .."

11

Eu configurei meus protetores de tela para bloquear a área de trabalho depois de algum tempo; e às vezes, por exemplo, quando saio da minha mesa, prefiro bloquear a tela usando a barra de título "Bloquear / alternar conta ...".

Ao tentar fazer login novamente, insiro minha senha, mas a senha é rotulada como "inválida".

Como solução alternativa, tenho que usar o mouse para acessar o menu "Alternar usuário ..." na barra de título, clicar nele e aguardar a exibição da outra página de login, que é bastante semelhante à página de bloqueio de proteção de tela . (Ele também lista outros nomes de usuário para escolher)

Aí digito a mesma senha e ela é aceita, estou logado, o unity desktop aparece.

O login no console também funciona.

Alguma idéia de como diagnosticar e resolver o problema?

Linux xxx 3.19.0-28-generic # 30-Ubuntu SMP seg 31 de agosto 15:52:51 UTC 2015 x86_64 x86_64 x86_64 GNU / Linux

unidade 7.3.2

Compiz 0.9.12.1

Parece não haver interesse no kern.log e no syslog, mas aqui está algo de /var/log/auth.log

    Sep 17 17:20:29 xxx lightdm: pam_kwallet(lightdm-greeter:setcred): pam_sm_setcred
Sep 17 17:20:29 xxx lightdm: pam_unix(lightdm-greeter:session): session opened for user lightdm by (uid=0)
Sep 17 17:20:29 xxx systemd-logind[843]: New session c13 of user lightdm.
Sep 17 17:20:29 xxx lightdm: pam_ck_connector(lightdm-greeter:session): nox11 mode, ignoring PAM_TTY :2
Sep 17 17:20:29 xxx lightdm: pam_kwallet(lightdm-greeter:session): pam_sm_open_session
Sep 17 17:20:29 xxx lightdm: pam_kwallet(lightdm-greeter:session): pam_kwallet: open_session called without kwallet_key
Sep 17 17:20:30 xxx lightdm: pam_succeed_if(lightdm:auth): requirement "user ingroup nopasswdlogin" not met by user "knb"
Sep 17 17:20:33 xxx CRON[37168]: pam_unix(cron:session): session closed for user munin
Sep 17 17:21:10 xxx lightdm: pam_kwallet(lightdm:auth): pam_sm_authenticate
Sep 17 17:21:10 xxx lightdm: pam_kwallet(lightdm:setcred): pam_sm_setcred
Sep 17 17:21:10 xxx lightdm: pam_unix(lightdm-greeter:session): session closed for user lightdm
Sep 17 17:21:10 xxx lightdm: pam_kwallet(lightdm-greeter:session): pam_sm_close_session
Sep 17 17:21:10 xxx lightdm: pam_kwallet(lightdm-greeter:setcred): pam_sm_setcred

Aqui estão algumas fotos das telas pelas quais tenho que passar:

Etapa 1 - protetor de tela bloqueado

Aqui, sem sucesso, digitei minha senha normal. Ele contém apenas caracteres ascii.

Etapa 2 - alternar usuário

Mudar usuário ... (escolha minha própria conta, não preciso mudar para outra).

Etapa 3 - login regular

Isso funciona.

EDITADO: pouco antes do final do prazo de recompensa de +150

Consegui resolver esse problema sozinho (depois de seguir todas as dicas e links espalhados por todas as ~ 5 respostas até agora)

Eu tive que comentar esta linha no arquivo /etc/pam.d/lightdm:

#auth sufficient pam_succeed_if.so user ingroup nopasswdlogin

Eu acho que o motivo foi que (muitos meses atrás, quando eu era o "único" com acesso físico ao meu computador), me adicionei ao grupo que pode fazer login sem senha e me autologin no lightdn após a inicialização / reinicialização. Então, um dia, mudei isso de volta para "login necessário após a reinicialização", mas por algum motivo a configuração anterior sem login foi removida incorretamente de todos os arquivos de configuração .

Agora pode entrar novamente :-)

Uma nota sobre a recompensa / "classificação":

O primeiro respondedor foi o mais próximo da solução, dizendo algo como "observe atentamente o que está no /etc/pam.d". A resposta também foi a mais longa e a mais completa. No entanto, verifiquei todas as outras respostas como valiosas, acho que é tudo o que posso fazer por enquanto.

knb
fonte
1
Não está diretamente relacionado, mas você precisa executar o mesmo procedimento ao bloquear a tela de uma conta sem senha. A tela de bloqueio deseja uma senha (que não existe), mas a tela de alternância do usuário mostra diretamente o botão de login sem solicitar uma senha. A tela de bloqueio realmente parece não estar bem codificada aqui ...
Byte Commander
1
Eu tenho exatamente o mesmo problema, mas não o encontro há algum tempo. Minha senha também não possui caracteres especiais. É hunter2 fyi.
Promille
Você está usando LDAP?
muru 24/09/15
@muru - sem LDAP. aqui estou usando uma conta de usuário local. Eu tenho o cliente LDAP instalado e o uso para conectar outros serviços (email, ...) quando eu estiver logado
knb
1
@knb apenas verificando se você não é mordido por bugs.launchpad.net/ubuntu/+source/unity/+bug/1314095 como eu era .
muru

Respostas:

3

Em teoria, você pode percorrer o conteúdo de /etc/pam.d e comparar com a saída de /var/log/auth.log para ver o que está acontecendo.

Caso você não saiba, cada arquivo no pam.d é um ponto de entrada em potencial para perguntar ao pam se você pode obter autoridade. No seu caso, lightdm. As entradas do log são bastante auto-explicativas na medida em que descobrem quais linhas no log são provenientes de quais linhas no arquivo pam.

De acordo com os documentos que encontrei, você deve poder adicionar 'debug' às linhas nos arquivos pam.d para obter informações extras no log.

Na minha configuração, estou usando o kde e o kdm e recebo muitas linhas contendo (kdm: auth) quando bloqueio a tela e tento desbloqueá-la (com a senha incorreta), mas nada quando desbloqueia com êxito. Não há quase nenhuma comparação entre pam.d / kdm e pam.d / lightdm, o que não faz sentido para mim, então talvez você possa tentar trocar as coisas para ver se o problema está no módulo lightdm pam.

O único outro pensamento que tive foi se você tem símbolos ou caracteres interessantes em sua senha. Se a caixa de tela de bloqueio do lightdm não estiver codificada corretamente, você poderá descobrir que não está enviando o que digita para o back-end. Tente alterar sua senha para algo básico (como 1234) para ver se funciona, se funciona, então (mude sua senha de volta obviamente, mas) provavelmente significa que não há nada de errado com sua configuração de pam.

Desculpe se isso não ajuda muito, além de adicionar pam_debug.so a vários arquivos pam (consulte http://manpages.ubuntu.com/manpages/hardy/man8/pam_debug.8.html ), para ver o que acontece, Não sei mais o que sugerir.

sibaz
fonte
3

A tela de bloqueio executa sua autenticação como um usuário comum, enquanto a troca de usuário e a tela de login são executadas como raiz. A raiz possui privilégios especiais que um usuário comum não possui.

Geralmente, quando vejo esse problema, verifica-se que as permissões no arquivo / etc / shadow foram alteradas. O deve ser algo como isto.

$ ls -l /etc/shadow
-rw-r----- 1 root shadow 2202 Jun 23 12:39 /etc/shadow

Se as permissões, proprietário ou grupo estão errados, esse é o seu problema.

Stephen M. Webb
fonte
meu arquivo shadow: parece bastante normal:-rw-r----- 1 root shadow 1965 Sep 22 08:49 /etc/shadow
knb
No entanto, a linha no arquivo de sombra que pertence ao meu login é muito, muito longa:... saned:*:15259:0:99999:7::: knb:$6$gUasL0rU$X3J3y/IAu/gKT2Ky2HCGLYigs59CowgYw17/0AK8QMWCsz6NpWDesH.C/....... LatrOQm1l5211gy3Q2pWx.:16702:0:99999:7::: sshd:*:15268:0:99999:7::: postfix:*:15271:0:99999:7: .....
knb
1

Talvez as soluções no login do Desktop falhem, os trabalhos do terminal funcionarão para você?

Eles removeram o arquivo ~ / .Xauthority.

Ou aqui? /unix/64545/suddenly-i-cant-login-with-correct-password-greeter-tty

Parece ser o mesmo problema que você está enfrentando. Para que o segundo link, você pode querer tentar simplesmente executando a última parte dos comandos, ignorando a purga apt-get: sudo pam-auth-update.

hlmtre
fonte
Eu tentei sudo pam-auth-update- resultado: aviso + sair por causa de modificações locais no /etc/pam.d/. Havia 4 /etc/pam.dcommon-*arquivos. Então eu fiz sudo pam-auth-update --force. apareceu uma caixa de diálogo de configuração complexa, padrões escolhidos. agora existem 5 arquivos comuns *. O problema ainda está lá.
knb
0

Sua resposta (na sua edição) não resolveu realmente o meu problema, mas a resposta aceita e sua maneira de resolver a sua na edição me levaram a fazer o seguinte:

  • comentando a seguinte linha

    #auth sufficient pam_succeed_if.so user ingroup nopasswdlogin

  • mudando

    auth requisite pam_nologin.so para auth requisite pam_permit.so

nota lateral: não há necessidade de reiniciar após alterar essas linhas, basta digitar no terminal: sudo /usr/sbin/pam-auth-updatee sem alterar nada no menu, pressione entero teclado

Yamen Nassif
fonte