问题可能出在 GDM 上

问题可能出在 GDM 上

我全新安装了 Linux Mint 18.3,然后建立了到 LDAP 服务器的连接。我可以使用 来查看 LDAP 用户列表getent passwd。奇怪的是,当我启动时,启动屏幕只显示本地帐户。我无法连接到任何 LDAP 帐户。

但是,如果我使用 TTY1 在命令行中使用 LDAP 帐户登录一次,则相应的用户会出现在启动屏幕上,并在重新启动后保留。

由于我认为没有理由这样做,所以我不知道应该共享哪些文件内容,但请询问任何有用的信息,我很乐意提供。我什至重新安装了 Linux Mint,但这并没有改变任何东西。理想情况下,我希望在启动时看到所有 LDAP 用户(因为多年来一直使用完全相同的安装过程)。

编辑感谢 Thegs 和 kemotp,我设法解决了这个问题,或者更准确地说,通过简单地安装来找到解决mdm方法

sudo apt install mdm

mdm在询问默认桌面管理器时进行选择。然而,问题是什么lightdm仍然悬而未决。

答案1

问题可能出在 GDM 上

看来您的问题可能是也与这篇文章相关吗?

检查您的/etc/pam.d/common-session这一行(如果不存在则添加它):

session required pam_mkhomedir.so umask=0022 skel=/etc/skel

您还需要确保 gdm 有一个条目/etc/security/group.conf并且/etc/pam.d/gdm包含以下行:

auth optional pam_group.so

如果您仍然遇到问题:

让我们从全新安装 Linux Mint 开始,并从头开始重新配置 LDAP 客户端。我正在参考本指南因为它似乎是我能找到的最直接的一个。

安装必要的 LDAP 客户端包

sudo apt-get update
sudo apt-get install libnss-ldap libpam-ldap nscd

确保为 LDAP 服务器 URI 输入正确的 IP 地址:

ldap://X.X.X.X

下一个值应与您的 LDAP 服务器/etc/phpldapadmin/config.php值相同。

dc=foo,dc=bar

使用LDAP版本3

使本地根数据库成为管理员:[Depends on your needs, most likely No]

LDAP 数据库需要登录吗?No

root 的 LDAP 帐户(再次应与 中的值匹配/etc/phpldapadmin/config.php

"cn=blort,dc=foo,dc=bar"

现在输入您的 LDAP root 密码。

您现在已完成 的过程,libnss-ldap将为 重复此过程libpam-ldap。确保所有值都相同。

如果您想更改设置的值,只需运行此命令即可重做配置

sudo dpkg-reconfigure ldap-auth-config或者sudo dpkg-reconfigure libnss-ldap

配置客户端

编辑该/etc/ldap/ldap.conf文件并取消注释以下行并输入您的 LDAP 信息:

[...]
BASE    dc=foo,dc=bar
URI     ldap://X.X.X.X
[...]

/etc/nsswitch.conf使用以下行进行编辑:

[...]
passwd:         compat ldap
group:          compat ldap
shadow:         compat ldap
[...]
netgroup:       ldap
[...]

之后重新启动 nscd 服务:/etc/init.d/nscd restart

PAM 配置

编辑/etc/pam.d/common-auth以包含以下行:

[...]
auth    [success=2 default=ignore]      pam_unix.so nullok_secure try_first_pass
auth    [success=1 default=ignore]      pam_ldap.so use_first_pass
[...]
auth    requisite                       pam_deny.so
[...]
auth    required                        pam_permit.so
[...]

编辑/etc/pam.d/common-account以包含以下行:

[...]
account [success=2 new_authtok_reqd=done default=ignore]         pam_unix.so
account [success=1 default=ignore]      pam_ldap.so
[...]
account requisite                       pam_deny.so
[...]
account required                        pam_permit.so
[...]

编辑/etc/pam.d/common-password并确保设置以下行:

[...]
password        [success=2 default=ignore]      pam_unix.so obscure sha512
password        [success=1 user_unknown=ignore default=die]     pam_ldap.so use_authtok try_first_pass
[...]
password        requisite                       pam_deny.so
[...]
password        required                        pam_permit.so
[...]

编辑/etc/pam.d/common-session并将以下行添加到底部:

[...]
session  required                                         pam_mkhomedir.so

编辑/etc/pam.d/common-session-noninterative并确保设置以下行:

[...]
session [default=1]                     pam_permit.so
[...]
session requisite                       pam_deny.so
[...]
session required                        pam_permit.so
[...]
session required        pam_unix.so
session optional                        pam_ldap.so

现在重新启动 nscd 服务:/etc/init.d/nscd restart。重新启动计算机并尝试登录。

结论

PAM和LDAP认证研究这里。您还可以参考本指南获取更多信息。您提到您之前已经这样做过,以帮助排除故障,了解当前设置与之前已知的工作设置相比有何不同。祝你好运!

相关内容