编辑:就在 +150 赏金截止日期之前

编辑:就在 +150 赏金截止日期之前

我已经将屏幕保护程序配置为在一段时间后锁定桌面;有时,例如当我离开办公桌时,我更喜欢使用标题栏“锁定/切换帐户......”功能自己锁定屏幕。

当我尝试再次登录时,我输入了密码,但密码被标记为“无效”。

作为一种解决方法,我必须使用鼠标转到标题栏中的“切换用户...”菜单,单击它,然后等待另一个登录页面出现,该页面与屏幕保护程序锁定页面非常相似。 (它还列出了其他可供选择的用户名)

我在那里输入相同的密码,并且被接受,我登录了,并且出现了 Unity 桌面。

在控制台登录也有效。

知道如何诊断和解决这个问题吗?

Linux xxx 3.19.0-28-通用#30-Ubuntu SMP 2015 年 8 月 31 日星期一 15:52:51 UTC x86_64 x86_64 x86_64 GNU/Linux

unity 7.3.2

Compiz 0.9.12.1

kern.log 和 syslog 中似乎没有什么有趣的东西,但这里有一些来自 /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

以下是我必须浏览的一些屏幕图片:

步骤 1 - 锁定屏幕保护程序

这里我输入了常规密码,但没有成功。它仅包含 ASCII 字符。

第 2 步 - 切换用户

切换用户...(选择我自己的帐户,我不需要切换到另一个帐户)。

第 3 步 - 常规登录

这有效。

编辑:就在 +150 赏金截止日期之前

我自己能够解决这个问题(在遵循了迄今为止所有~5 个答案中的所有提示和链接之后)

我必须在文件中注释掉这一行/etc/pam.d/lightdm

#auth sufficient pam_succeed_if.so user ingroup nopasswdlogin

我认为原因是(几个月前,当我是“唯一”可以物理访问我的电脑的人时)我将自己添加到无需密码即可登录的群组,并在启动/重启后自动登录 lightdn。然后有一天我把它改回来了到“重启后需要登录”,但由于某种原因,之前的所有配置文件中的无登录配置被错误地删除

现在可以再次登录:-)

关于赏金/“评级”的说明:

第一个回答者说得最接近解决方案,比如“仔细看看 /etc/pam.d 中的内容”。这个答案也是最长、最详尽的。不过,我检查了所有其他答案,认为它们都很有价值,我想,这就是我现在能做的一切。

答案1

理论上,您可以浏览 /etc/pam.d 的内容并与 /var/log/auth.log 的输出进行比较,以查看发生了什么。

如果您不知道,pam.d 中的每个文件都是一个潜在的入口点,用于询问 pam 您是否可以获得权限。在您的例子中是 lightdm。就确定日志中的哪些行来自 pam 文件中的哪些行而言,日志条目相当不言自明。

根据我找到的文档,您应该能够在 pam.d 文件中的行中添加“debug”以在日志中获取额外的信息。

在我的设置中,我使用的是 kde 和 kdm,当我锁定屏幕并尝试解锁(使用错误的密码)时,会出现很多包含 (kdm:auth) 的行,但成功解锁后则没有任何内容。pam.d/kdm 和 pam.d/lightdm 之间几乎没有可比性,这对我来说毫无意义,所以也许您可以尝试交换一些东西,看看问题是否出在 lightdm pam 模块中。

我唯一想到的另一个想法是,你的密码中是否有有趣的符号或字符。如果 lightdm 锁屏框编码不正确,你可能会发现它没有将你输入的内容发送到后端。尝试将你的密码更改为一些基本密码(如 1234)以查看它是否有效,如果有效,那么(显然要将你的密码改回来,但)这可能意味着你的 pam 配置至少没有问题。

抱歉,如果这没有多大帮助,除了考虑将 pam_debug.so 添加到各种 pam 文件中(请参阅http://manpages.ubuntu.com/manpages/hardy/man8/pam_debug.8.html),看看会发生什么,我不确定还能建议什么。

答案2

锁屏以普通用户身份运行身份验证,而用户切换和登录屏幕以 root 身份运行。root 拥有普通用户所没有的特殊权限。

通常当我看到这个问题时,结果都是文件 /etc/shadow 的权限被更改了。应该看起来像这样。

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

如果权限、所有者或群组错误,那就是您的问题。

答案3

也许解决方案桌面登录失败,终端正常适合你吗?

他们删除了 ~/.Xauthority 文件。

或者这里?https://unix.stackexchange.com/questions/64545/suddenly-i-cant-login-with-correct-password-greeter-tty

似乎与您遇到的问题相同。对于第二个链接,您可能想尝试仅运行命令的最后一部分,而忽略 apt-get purging: sudo pam-auth-update

答案4

您的回答(在您的编辑中)并没有真正解决我的问题,但接受的答案和您在编辑中解决问题的方式让我做到了以下几点:

  • 注释以下行

    #auth sufficient pam_succeed_if.so user ingroup nopasswdlogin

  • 改变

    auth requisite pam_nologin.soauth requisite pam_permit.so

附注:更改这些行后无需重新启动,只需在终端中输入以下内容:sudo /usr/sbin/pam-auth-update然后在不更改菜单中的任何内容的情况下按下enter键盘即可

相关内容