Nie można się zalogować w zablokowanym wygaszaczu ekranu, należy zalogować się przy użyciu „przełącz użytkownika ..”

11

Skonfigurowałem wygaszacze ekranu, aby po pewnym czasie blokowały pulpit; a czasami, np. kiedy opuszczam biurko, wolę sam blokować ekran przy użyciu funkcji „Zablokuj / Przełącz konto ...”.

Podczas próby zalogowania się ponownie podaję hasło, ale hasło jest oznaczone jako „nieprawidłowe”.

Aby obejść ten problem, muszę użyć myszy, aby przejść do menu „Przełącz użytkownika ...” na pasku tytułu, kliknąć go i poczekać na wyświetlenie innej strony logowania, która jest dość podobna do strony blokady wygaszacza ekranu . (Zawiera także inne nazwy użytkowników do wyboru)

Tam wprowadzam to samo hasło i zostaje ono zaakceptowane, jestem zalogowany, pojawia się pulpit Unity.

Działa także logowanie do konsoli.

Masz pomysł, jak zdiagnozować i rozwiązać problem?

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

jedność 7.3.2

Compiz 0.9.12.1

Wydaje się, że kern.log i syslog nie są interesujące, ale oto coś z /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

Oto kilka zdjęć ekranów, przez które muszę przejść:

Krok 1 - zablokowany wygaszacz ekranu

Tutaj bezskutecznie wpisałem moje zwykłe hasło. Zawiera tylko znaki ascii.

Krok 2 - zmień użytkownika

Przełącz użytkownika ... (wybierz własne konto, nie muszę przełączać się na inne).

Krok 3 - regularne logowanie

To działa.

ZMIENIONO: tuż przed końcem terminu +150 nagród

Sam byłem w stanie rozwiązać ten problem (po tym, jak do tej pory wszystkie wskazówki i linki rozeszły się po wszystkich ~ 5 odpowiedziach)

Musiałem skomentować ten wiersz w pliku /etc/pam.d/lightdm:

#auth sufficient pam_succeed_if.so user ingroup nopasswdlogin

Myślę, że powodem było to, że (wiele miesięcy temu, kiedy byłem „jedynym” z fizycznym dostępem do mojego komputera), dodałem się do grupy, która może zalogować się bez hasła i autologować do lightdn po rozruchu / ponownym uruchomieniu. Potem pewnego dnia zmieniłem to z powrotem na „konieczne logowanie po ponownym uruchomieniu”, ale z jakiegoś powodu poprzednia konfiguracja bez logowania została usunięta nieprawidłowo ze wszystkich plików konfiguracyjnych .

Teraz możesz zalogować się ponownie :-)

Uwaga na temat nagrody / „oceny”:

Pierwszy odpowiadający był najbliżej rozwiązania, mówiąc coś w stylu „przyjrzyj się dokładnie temu, co znajduje się w /etc/pam.d”. Odpowiedź była także najdłuższa i najdokładniejsza. Jednak sprawdziłem wszystkie pozostałe odpowiedzi jako wartościowe, myślę, że na razie to wszystko, co mogę zrobić.

knb
źródło
1
Nie ma to bezpośredniego związku, ale musisz wykonać tę samą procedurę, gdy zablokujesz ekran konta bez hasła. Ekran blokady chce hasła (które nie istnieje), ale ekran przełączania użytkownika pokazuje bezpośrednio przycisk logowania bez pytania o hasło. Wygląda na to, że ekran blokady naprawdę nie jest dobrze zakodowany ...
Byte Commander
1
Mam dokładnie ten sam problem, ale od jakiegoś czasu go nie spotkałem. Moje hasło również nie zawiera znaków specjalnych. To jest hunter2.
Promille,
Czy używasz LDAP?
muru
@muru - brak LDAP. tutaj używam lokalnego konta użytkownika. Mam zainstalowanego klienta LDAP i używam go do łączenia się z innymi usługami (e-mail, ...), kiedy jestem zalogowany
knb
1
@knb tylko sprawdza, czy nie zostałeś ugryziony przez bugs.launchpad.net/ubuntu/+source/unity/+bug/1314095 jak ja .
muru

Odpowiedzi:

3

Teoretycznie możesz przejść przez zawartość /etc/pam.d i porównać z danymi wyjściowymi z /var/log/auth.log, aby zobaczyć, co się dzieje.

W przypadku, gdy nie jesteś świadomy, każdy plik w pam.d jest potencjalnym punktem wejścia, aby zapytać pam, czy możesz uzyskać autorytet. W twoim przypadku lightdm. Wpisy dziennika są dość zrozumiałe, jeśli chodzi o ustalenie, które wiersze w dzienniku pochodzą z których wierszy w pliku pam.

Według dokumentów, które znalazłem, powinieneś być w stanie dodać „debugowanie” do linii w plikach pam.d, aby uzyskać dodatkowe informacje w dzienniku.

W moim ustawieniu używam kde i kdm i dostaję wiele wierszy zawierających (kdm: auth), kiedy blokuję ekran i próbuję go odblokować (z niewłaściwym hasłem), ale nic, gdy pomyślnie się odblokuje. Nie ma porównania między pam.d / kdm i pam.d / lightdm, co nie ma dla mnie sensu, więc może możesz spróbować zamienić rzeczy, aby sprawdzić, czy problem dotyczy modułu pam lightdm.

Jedyną inną myślą, jaką myślałem, jest to, czy w haśle masz ciekawe symbole lub znaki. Jeśli pole ekranu blokady lightdm nie jest poprawnie zakodowane, może się okazać, że nie wysyła tego, co piszesz do zaplecza. Spróbuj zmienić hasło na coś podstawowego (np. 1234), aby sprawdzić, czy działa, jeśli tak, to (oczywiście zmień hasło z powrotem, ale) prawdopodobnie oznacza to, że przynajmniej nie ma nic złego w konfiguracji pam.

Przepraszam, jeśli to nie pomaga, oprócz patrzenia na dodanie pam_debug.so do różnych plików pam (patrz http://manpages.ubuntu.com/manpages/hardy/man8/pam_debug.8.html ), aby zobaczyć, co się stanie, Nie jestem pewien, co jeszcze zasugerować.

Sibaz
źródło
3

Ekran blokady uruchamia uwierzytelnianie jako zwykły użytkownik, podczas gdy przełączanie użytkowników i ekran logowania działają jako root. Root ma specjalne uprawnienia, których nie ma zwykły użytkownik.

Zwykle gdy widzę ten problem, okazuje się, że uprawnienia do pliku / etc / shadow zostały zmienione. Powinno to wyglądać mniej więcej tak.

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

Jeśli perms, właściciel lub grupa są nieprawidłowe, to właśnie tam jest twój problem.

Stephen M. Webb
źródło
mój plik cienia: wygląda całkiem normalnie:-rw-r----- 1 root shadow 1965 Sep 22 08:49 /etc/shadow
knb
Jednak linia w pliku cienia, która należy do mojego loginu, jest naprawdę długa:... 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

Być może rozwiązania w zakresie logowania na pulpicie zawodzą, terminal działa dla Ciebie?

Usunęli plik ~ / .Xauthority.

Lub tu? /unix/64545/suddenly-i-cant-login-with-correct-password-greeter-tty

Wygląda na to, że napotykasz ten sam problem. W tym drugim linku, można spróbować po prostu działa ostatnią część poleceń, ignorując apt-get Płukanie: sudo pam-auth-update.

hlmtre
źródło
Próbowałem sudo pam-auth-update- wynik: ostrzeżenie + wyjście z powodu lokalnych modyfikacji w /etc/pam.d/. Były 4 /etc/pam.dcommon-*pliki. Potem zrobiłem sudo pam-auth-update --force. pojawiło się złożone okno dialogowe konfiguracji, wybrane domyślne. teraz jest 5 wspólnych plików *. Problem nadal istnieje.
knb
0

Twoja odpowiedź (w twojej edycji) tak naprawdę nie rozwiązała mojego problemu, ale zaakceptowana odpowiedź i sposób rozwiązania twojego problemu w edycji skłoniły mnie do wykonania następujących czynności:

  • komentując następujący wiersz

    #auth sufficient pam_succeed_if.so user ingroup nopasswdlogin

  • wymiana pieniędzy

    auth requisite pam_nologin.so do auth requisite pam_permit.so

uwaga dodatkowa: nie trzeba ponownie uruchamiać po zmianie tych wierszy, wystarczy wpisać to w terminalu: sudo /usr/sbin/pam-auth-updatea następnie bez zmiany czegokolwiek w menu wciśniętym enterna klawiaturze

Yamen Nassif
źródło