刚尝试从 Linux Mint 切换到 Ubuntu 18.10,但遇到了许多帐户问题。下面详细介绍了重新创建的所有步骤。
我很想知道 Ubuntu 18.10 与 LDAP 服务器上的用户相比如何区分本地创建的用户,以及为什么 LDAP 用户会破坏这么多功能。
问题:
- 无法使用默认 gdm3 显示管理器登录 LDAP 帐户。使用下面描述的方法设置 LDAP 后,您可以在终端中以用户身份登录没有问题,但您无法通过 gdm3 登录。如果您尝试,它会立即将您踢回锁定屏幕。通过该接口在本地创建的用户没有这样的问题。切换到 lightdm 可以让您使用 LDAP 帐户登录。
- 本地管理员帐户可以使用 GUI 管理元素,例如“设置 - 用户”中的解锁按钮、“打印机”中和整个界面中的相同解锁按钮。另一方面,LDAP 帐户没有使用 GUI 管理元素的策略,即使通过visudo添加到 sudoers 并添加到/etc/groups中的所有相关行。这可能与polkit 有关,但我不知道如何修改和解决问题。我尝试从 2012 年开始执行这些步骤,但无济于事。
- LDAP 帐户存在一些损坏的功能,例如:重新启动/关闭的 GUI 按钮不起作用,没有识别出声音设备,重新启动/安装 pavucontrol 也无济于事。即使与 sudo 一起使用,它也会给你一个权限错误(不应该被需要/使用)。打印机默认也不工作。
重现方式:
全新安装 Ubuntu 18.10
通过以下方式设置 LDAP:
sudo apt-get install libnss-ldap libpam-ldap
编辑 /etc/nsswitch.conf 文件并将ldap添加到 passwd、group 和 shadow 行
编辑 /etc/pam.d/common-session 文件以添加以下行
session required pam_mkhomedir.so skel=/etc/skel umask=0022
打开终端并尝试切换到不同的用户(LDAP)。它应该工作。
使用 ubuntu 界面,注销并尝试使用同一用户(LDAP)登录,它不应该工作并且应该引导循环。
使用普通的“本地”管理员帐户重新登录并切换到 lightdm:
sudo apt install lightdm
为了能够使用 LDAP 用户名实际登录,请创建 /etc/lightdm/lightdm.conf 并添加
[Seat:*]
allow-guest=true
greeter-show-manual-login=true
重新启动机器并使用 LDAP 帐户登录。
看到上面描述的问题是存在的。然后尝试通过将 LDAP 用户添加到 sudoer 和相关组来修复它们。
真正的问题是缺少 nscd。
安装即可轻松修复
我一直在 Ubuntu 18.04 上使用 gdm3 并遇到了类似的问题。在 /etc/pam.d/common-session 我们有以下内容。我们从 16.04 设置中复制了它。
会话足够 pam_krb5.so 会话需要 pam_unix.so 会话可选 pam_systemd.so
对于 18.04,应将 pam_krb5 行切换为 optional 以确保在此堆栈中到达 pam_unix 模块。这似乎是现在允许 Active Directory 用户 (LDAP+Kerberos) 被授权运行 X Windows 所必需的。