无法登录 ubuntu 但可以通过 ssh 连接

无法登录 ubuntu 但可以通过 ssh 连接

最后几行来自/var/log/auth.log

Jan  9 22:59:57 miranda-OptiPlex-790 lightdm: PAM adding faulty module: pam_kwallet5.so
Jan  9 22:59:57 miranda-OptiPlex-790 lightdm: pam_succeed_if(lightdm:auth): requirement "user ingroup nopasswdlogin" not met by user "miranda"
Jan  9 23:00:23 miranda-OptiPlex-790 dbus[807]: [system] Failed to activate service 'org.bluez': timed out

我试图向系统环境添加一个新变量。我在 中添加了一行/etc/enviroment。现在我已 ssh 到机器并删除了该行。现在看起来像这样:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

但我仍然无法登录。

访客会话运行顺利。

我的问题与此类似: https://serverfault.com/questions/380917/cant-log-in-locally-but-ssh-works

他最终重新安装了操作系统,我希望还有办法挽救我......

还有另一篇帖子涉及类似问题: https://www.linuxquestions.org/questions/linux-general-1/can%27t-login-over-console-but-can-ssh-in-740310/

但解决方案的链接不再起作用。


尝试过这里的建议: 无法登录锁定的 Ubuntu 14.04 会话 Unity

重新安装了一堆东西之后:

apt-get install --reinstall kwalletmanager
apt-get install libpam-kwallet4 libpam-kwallet5
service lightdm restart

auth.log节目:

Jan 10 00:05:10 miranda-OptiPlex-790 lightdm: pam_unix(lightdm:session): session opened for user miranda by (uid=0)
Jan 10 00:05:10 miranda-OptiPlex-790 systemd-logind[796]: New session c32 of user miranda.
Jan 10 00:05:10 miranda-OptiPlex-790 lightdm: pam_kwallet(lightdm:session): pam_kwallet: pam_sm_open_session
Jan 10 00:05:10 miranda-OptiPlex-790 lightdm: pam_kwallet(lightdm:session): pam_kwallet: final socket path: /tmp/kwallet_miranda.socket
Jan 10 00:05:10 miranda-OptiPlex-790 lightdm: pam_kwallet(lightdm:session): pam_kwallet: Impossible to write walletKey to walletPipe
Jan 10 00:05:10 miranda-OptiPlex-790 lightdm: pam_kwallet5(lightdm:session): pam_kwallet5: pam_sm_open_session
Jan 10 00:05:10 miranda-OptiPlex-790 lightdm: pam_kwallet5(lightdm:session): pam_kwallet5: final socket path: /tmp/kwallet5_miranda.socket
Jan 10 00:05:11 miranda-OptiPlex-790 lightdm: pam_kwallet(lightdm-greeter:setcred): (null): pam_sm_setcred
Jan 10 00:05:11 miranda-OptiPlex-790 lightdm: pam_kwallet5(lightdm-greeter:setcred): (null): pam_sm_setcred
Jan 10 00:05:11 miranda-OptiPlex-790 lightdm: pam_unix(lightdm-greeter:session): session opened for user lightdm by (uid=0)
Jan 10 00:05:11 miranda-OptiPlex-790 systemd-logind[796]: New session c33 of user lightdm.
Jan 10 00:05:11 miranda-OptiPlex-790 lightdm: pam_kwallet(lightdm-greeter:session): (null): pam_sm_open_session
Jan 10 00:05:11 miranda-OptiPlex-790 lightdm: pam_kwallet(lightdm-greeter:session): pam_kwallet: open_session called without kwallet_key
Jan 10 00:05:11 miranda-OptiPlex-790 lightdm: pam_kwallet5(lightdm-greeter:session): (null): pam_sm_open_session
Jan 10 00:05:11 miranda-OptiPlex-790 lightdm: pam_kwallet5(lightdm-greeter:session): pam_kwallet5: open_session called without kwallet5_key
Jan 10 00:05:11 miranda-OptiPlex-790 lightdm: pam_succeed_if(lightdm:auth): requirement "user ingroup nopasswdlogin" not met by user "miranda"
Jan 10 00:05:22 miranda-OptiPlex-790 dbus[807]: [system] Failed to activate service 'org.bluez': timed out

我不知道如何更改lightdm配置

root@miranda-OptiPlex-790:/etc/lightdm/lightdm.conf.d# ls
root@miranda-OptiPlex-790:/etc/lightdm/lightdm.conf.d# cd ..
root@miranda-OptiPlex-790:/etc/lightdm# ls
lightdm.conf.d  users.conf
root@miranda-OptiPlex-790:/etc/lightdm# cat users.conf
#
# User accounts configuration
#
# NOTE: If you have AccountsService installed on your system, then LightDM will
# use this instead and these settings will be ignored
#
# minimum-uid = Minimum UID required to be shown in greeter
# hidden-users = Users that are not shown to the user
# hidden-shells = Shells that indicate a user cannot login
#
[UserList]
minimum-uid=500
hidden-users=nobody nobody4 noaccess
hidden-shells=/bin/false /usr/sbin/nologin

我应该尝试这个解决方案吗? https://unix.stackexchange.com/questions/337697/pbis-auth-log-requirement-user-ingroup-nopasswdlogin-not-met-by-user-administ

编辑/etc/pam.d/lightdm并删除nopasswdlogin此行:

auth    sufficient      pam_succeed_if.so user ingroup nopasswdlogin

答案1

最终,这里的方法挽救了局面: https://bugs.launchpad.net/ubuntu/+source/lightdm/+bug/964607

我通过 Google 搜索了一下,找到了如何做到这一点: https://askubuntu.com/questions/300682/what-is-the-xauthority-file

具体步骤:

Ctrl++AltF1我在登录屏幕时。

chown miranda:miranda .Xauthority

Ctrl+ Alt+F7

一些解释:

更改miranda为您的用户名。

Ctrl+Alt+F1 到 F6 是 getty/agetty 程序提供的虚拟控制台。Ctrl+Alt+F7 是运行 X 服务器的控制台。 https://askubuntu.com/questions/157617/reverting-from-ctrl-alt-f1

用来ls -la .Xauthority确认是否是该问题。

相关内容