Ubuntu 16 - Active Directory - 可以 ssh - 不能 rdp

Ric*_*ker 5 ssh ubuntu active-directory sssd

我一直致力于为我们的开发人员构建一个连接到我们的 Active Directory 服务器的 Linux 服务器。使用 Realm 和 SSSD 的组合,我可以让 SSH 与所有用户正常工作,但尝试远程桌面进入 xrdp 失败,并显示

Nov  7 04:54:49 ip-10-10-100-177 xrdp-sesman: pam_unix(xrdp-sesman:auth): authentication failure; logname= uid=0 euid=0 tty= ruser= rhost=  user=ricktbaker
Nov  7 04:54:49 ip-10-10-100-177 xrdp-sesman: pam_sss(xrdp-sesman:auth): authentication success; logname= uid=0 euid=0 tty= ruser= rhost= user=ricktbaker
Nov  7 04:54:49 ip-10-10-100-177 xrdp-sesman: pam_sss(xrdp-sesman:account): Access denied for user ricktbaker: 6 (Permission denied)
Run Code Online (Sandbox Code Playgroud)

我的/etc/sssd/sssd.conf

[sssd]
domains = my.domain.com
config_file_version = 2
services = nss, pam

[domain/my.domain.com]
ad_domain = my.domain.com
krb5_realm = MY.DOMAIN.COM
realmd_tags = joined-with-adcli
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = False
fallback_homedir = /home/%u
simple_allow_users = $
access_provider = ad
Run Code Online (Sandbox Code Playgroud)

我尝试将 access_provider 切换为 simple,但我也无法 ssh。不太确定我缺少什么,但会提供任何可能有帮助的日志或信息。

- - 编辑 - - -

将以下行添加到 sssd.conf 的域部分似乎可以修复它,但我不确定这是否是正确的修复:

ad_gpo_access_control = permissive
Run Code Online (Sandbox Code Playgroud)

Ric*_*ker 0

运行此设置一年多后,我在原来的问题中提到的修复肯定有效。因此添加作为官方答案。我的 /etc/sssd/sssd.conf 中只需要以下内容

ad_gpo_access_control = permissive
Run Code Online (Sandbox Code Playgroud)

还有一篇关于它的博客文章:

http://ricktbaker.com/2017/11/08/ubuntu-16-with-active-directory-connectivity/