Não é possível fazer o login no protetor de tela bloqueado, deve logar com “switch user ..”

10

Configurei meus protetores de tela para bloquear a área de trabalho após algum tempo; e às vezes, por exemplo Quando saio da minha mesa, prefiro bloquear a tela usando o recurso "Bloquear / alternar conta ..." da barra de título.

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

Como solução, tenho que usar o mouse para ir até o menu "Trocar usuário ..." na barra de título, clicar nele e esperar que a outra página de login apareça, o que é bastante semelhante ao protetor de tela Bloquear página. (Também lista outros nomes de usuários para escolher)

Ali eu insiro a mesma senha e ela é aceita, estou logado, a unidade desktop aparece.

O login no console também funciona.

Alguma ideia de como diagnosticar e resolver o problema?

  

Linux xxx 3.19.0-28-genérico # 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 nada de interesse em kern.log e syslog, mas aqui está algo do /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 que eu tenho que passar:

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

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

Isso funciona.

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

Eu mesmo fui capaz de resolver esse problema (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) eu adicionei-me ao grupo que pode entrar sem senha , e autologin para lightdn após a inicialização / reinicialização. Então algum dia eu mudei de volta para "login necessário após a reinicialização", mas por algum motivo a configuração sem login anterior foi removida indevidamente de todos os arquivos de configuração .

Agora pode fazer o login novamente: -)

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

O primeiro respondente ficou mais próximo da solução dizendo algo como "observe atentamente o que há em /etc/pam.d". A resposta também foi a mais longa e a mais completa. No entanto, eu verifiquei todas as outras respostas como valiosas, isso é tudo que posso fazer agora, eu acho.

    
por knb 11.02.2015 / 12:58

4 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 em pam.d é um possível ponto de entrada para perguntar se você pode obter autoridade. No seu caso lightdm. As entradas de log são bastante auto-explicativas, na medida em que descobrir quais linhas no log vêm de quais linhas no arquivo pam.

De acordo com os documentos que encontrei, você deve ser capaz de adicionar 'debug' a linhas em 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 eu bloqueio minha tela e tento desbloqueá-la (com a senha errada), mas nada quando ela destrava com sucesso . Não há 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, é se você tem símbolos ou caracteres interessantes na sua senha. Se a caixa da tela de bloqueio do lightdm não estiver codificada corretamente, você poderá descobrir que ela não está enviando o que você digitou para o back-end. Tente alterar sua senha para algo básico (como 1234) para ver se funciona, se isso acontecer, então (mude sua senha de volta obviamente, mas) provavelmente significa que não há nada errado com a sua configuração de pam, pelo menos.

Desculpe se isso não ajuda muito, além de adicionar pam_debug.so a vários arquivos pam (veja link ), para ver o que acontece, não sei mais o que sugerir.

    
por sibaz 17.09.2015 / 18:15
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. Raiz tem privilégios especiais que um usuário comum não possui.

Normalmente, quando vejo esse problema, 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 os permanentes, o proprietário ou o grupo estiverem errados, esse é o seu problema.

    
por Stephen M. Webb 24.09.2015 / 05:41
1

Talvez as soluções em login na área de trabalho falhem, trabalhos de terminal funcionem para você?

Eles removeram o arquivo ~ / .Xauthority.

Ou aqui? link

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

    
por hlmtre 23.09.2015 / 21:37
0

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

  • comentando a seguinte linha

    #auth sufficient pam_succeed_if.so user ingroup nopasswdlogin

  • mudando

    auth requisite pam_nologin.so a auth requisite pam_permit.so

nota lateral: não há necessidade de reiniciar depois de alterar essas linhas basta digitar isso no terminal: sudo /usr/sbin/pam-auth-update e, em seguida, sem alterar nada no menu, pressione enter no seu teclado

    
por Yamen Nassif 02.05.2018 / 10:30